[AWS] Lambdaからプライベートサブネット内のEC2を起動・停止する

  • Lambdaを用いてプライベートサブネット内のEC2の起動・停止を操作したい

ポイントはセキュリティグループ、ポリシー/ロール、そしてLambdaの配置場所です。

  1. セキュリティグループの設定
  2. ポリシー/ロールの設定
  3. Lambdaの配置場所

1. セキュリティグループの設定

セキュリティグループは、①EC2のセキュリティグループ、②Lambdaのセキュリティグループの2つが必要になります。Inbound rules、Outbound rulesは以下の通りです。

①EC2のセキュリティグループ

  • Inbound rules : ②LambdaのセキュリティグループからのHTTPS(443)を許可する
  • Outbound rules : デフォルト設定(全通信許可)

②Lambdaのセキュリティグループ

  • Inbound rules : デフォルト設定(通信無し)
  • Outbound rules : デフォルト設定(全通信許可)

2. ポリシー/ロールの設定

Lambdaに AmazonEC2FullAccess ポリシーを持つロールを設定します。

3. Lambdaの配置場所

これが少し混乱する箇所かと思いますが、VPC外に配置しておけば問題ありません。つまり、VPCおよびプライベートサブネットへのアタッチは不要ということです。これは「EC2 APIがインターネット上に存在する」ということが理由です。

以上の3点に注意すれば無事Lambdaからプライベートサブネット上のEC2の起動・停止操作が可能になると思います。

1件のコメント

コメントはできません。