
この記事では
・Lamdba関数用のIAMロールを作成
します!

今回は例として
・CloudWatch Logsへの書き込み
・特定のEC2の開始/停止
の権限を持つIAMロールを作成します!
カスタマー管理ポリシーの作成
特定のEC2の開始/停止を許可するポリシーを独自に作成します。
※独自に作成するポリシーを「カスタマー管理ポリシー」と言います。
ポリシーのページの「ポリシーの作成」をクリックする。

「ポリシーエディタ」の「JSON」をクリックする。

「ポリシーエディタ」に以下を入力して、「次へ」をクリックする。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "arn:aws:ec2:ap-northeast-1:999999999999:instance/i-xxxxxxxxxxxxxxxxx"
}
]
}

「ポリシー名」に任意の名前を入力して、「ポリシーの作成」をクリックする。
※今回は例として「EC2-start-stop-OwnPolicy」とします。

上記により、カスタマー管理ポリシー「EC2-start-stop-OwnPolicy」が作成できました。

IAMロールの作成
Lamdba関数用のIAMロールを作成します。
今回は以下の2つのポリシーをアタッチしたIAMロールを作成します。
No | ポリシー名 | CloudWatch Logsへの書き込み権限 | ポリシーの種類 |
---|---|---|---|
1 | AWSLambdaBasicExecutionRole | CloudWatch Logsへの書き込み権限を持つポリシー | AWS管理ポリシー |
2 | EC2-start-stop-OwnPolicy | 特定のEC2の開始/停止権限を持つポリシー ※上記の手順で独自に作成したポリシー | カスタマー管理ポリシー |
ロールのページの「ロールの作成」をクリックする。

「サービスまたはユースケース」に「Lambda」を選択して、「次へ」をクリックする。

以下の2つのポリシーにチェックを入れて、「次へ」をクリックする。
・AWSLambdaBasicExecutionRole
・EC2-start-stop-OwnPolicy


「ロール名」に任意の名前を入力して、「ロール名の作成」をクリックする。
※今回は例として「EC2-start-stop-Role」とします。

上記により、IAMロール「EC2-start-stop-Role」が作成できました。

動作確認
上記で作成したIAMロールをアタッチしたLambda関数を作成および実行をして、問題無く動作するかを確認します。
Lambda関数を作成の詳細は以下をご確認ください。
●EC2を開始するLamdba関数の作成
●EC2を停止するLamdba関数の作成