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