こんにちは、山中です。
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:*:*:*"
]
}
]
}