こんにちは、山中です。
AWS Lambda でとりあえずサクッと AWS の各種サービスを動かすプログラムを載せています。
※ 正常系のみ (エラー処理などは書いていない) なので、あくまで検証環境で試すことを想定しています。
今回は AWS Lambda で EC2 インスタンスの AMI を取得するプログラムです。
コード
import boto3 client = boto3.client('ec2') def lambda_handler(event, context): client.create_image( InstanceId='i-xxxxxxxxxxxxxxxxx', Name='sampleimage', )
i-xxxxxxxxxxxxxxxxx 部分をイメージを取得したいインスタンスのインスタンス ID に置き換える
その他設定
AWS Lambda の環境
項目 | 設定値 |
---|---|
ランタイム | Python 3.9 |
アーキテクチャ | x86_64 |
必要なポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "action", "Effect": "Allow", "Action": "ec2:CreateImage", "Resource": "*" } ] }
CloudWatch Logs にログを出力する場合は、以下
{ "Version": "2012-10-17", "Statement": [ { "Sid": "action", "Effect": "Allow", "Action": "ec2:CreateImage", "Resource": "*" }, { "Sid": "log", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }