調査
VPC Lambda とは
lambdaは基本的にはAWSが管理するネットワーク上に作成されますが、
ユーザが管理するVPCのリソースにアクセスしたい場合、lambdaをVPCに接続できるように設定を行います。
これを VPC lambda
と呼ばれます。
実際にはVPC上にlambdaがあるわけではなく、VPC上に作成されたENIを経由してlambdaへ接続できるようになります。
VPC Lambdaの注意点
- インターネットへのアクセスについて
lambdaにVPCの設定を追加しても関数でアクセスできる範囲はVPC内のみです。
ENIにはパブリックIPが付与できないので、
もしlambdaからインターネットへのアクセスが必要な場合は、同じVPC内部に
NATインスタンスまたはNAT Gatewayの設定が必要です。
- ロールの設定について
lambdaにENIの作成・削除が必要なのでlambdaにIAMのロールを設定することが必要です。
AWSLambdaVPCAccessExecutionRole
がAWSのポリシーにあるのでこちらを当てることも可能です。
- 残IPアドレスについて
VPC lambdaはサブネットのIPアドレスを消費するので、
ギリギリで設定している人は注意してください。
ベストプラクティスでは、lambda専用サブネットを作成して他のリソースに影響が出ないように設定することが推奨されています。
- 初回起動に少し時間がかかる
lambdaを実行する際、ENIの作成・lambdaへ付与の時間が少しかかります(~数十秒)
初回のみなので、以降は問題ないですが一定時間リクエストがなければENIは自動で削除されるので注意が必要です。
勉強後イメージ
ENIにはGIPがつけれないのか・・・
確かにEC2でみてたら、ローカルIPをつけるやつってイメージね。
NATインスタンスとか少しめんどくさいね。