AWS Lambda
VPC Lambda
Lambdaの設定でVPCを有効にする
サブネット、セキュリティーグループなどを設定する
選んだサブネットにENIが作られ、Lambdaはそれに接続をして、対象VPC内のリソースと通信をするような仕組みっぽい
ロールが必要
勝手に作ってくれる設定にもすることが出来るが、ラムダの数だけ増えてしまう
AWSLambdaVPCAccessExecutionRoleを持ったロールを作成する
パブリックサブネットの場合
パブリックIPが割り当てられないので通信が出来ない
プライベートサブネットの場合
インターネットへの口が無いので、インターネットの通信は出来ない
プライベートサブネット + NAT経由の場合
NATゲートウェイ経由でインターネットゲートウェイに接続し、通信が出来る
方法
パブリックサブネット作成
サブネット作成
インターネットゲートウェイ作成
ルートテーブル作成
ルートテーブルにインターネットゲートウェイを設定
サブネットにルートテーブルを紐付ける
プライベートサブネット作成
サブネット作成
NATゲートウェイ作成
パブリックサブネットに設定
ルートテーブル作成
ルートテーブルにNATゲートウェイを設定
プライベートサブネットにルートテーブルを紐付け
API Gateway
Lambda自体が設定したVPC内にあるわけでは無いため、特に変わらず接続が出来る
Lambdaに設定するセキュリティグループ、サブネットのルートテーブルなどで許可設定などをする必要は無い
イメージ
ベースイメージはAmazon Linux系
Node.js 20、Python 3.12、Java 21は、Amazon Linux 2023 の最小コンテナイメージ
それ以前は Amazon Linux 2