0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VPC Lambda 覚書

Posted at

概要

  • 「VPC Lambda」という名称は正式なAWSサービスではない
  • 一般的に、Lambda関数でVPC内のリソースにアクセスする方法を指して「VPC Lambda」と呼ぶことがある

Lambda関数でVPC内のリソースにアクセスするとは?

Lambdaはリージョンサービス

  • アーキテクチャの例として「API Gateway → Lambda → DynamoDB」のような構成の場合、いずれもリージョンサービスなのでLambdaをVPC内に配置する必要はない

VPC内のリソースにアクセスしたい場合

  • Lambda関数をVPC内で使用できるように設定する必要がある
  • Lambdaの設定画面で以下の設定を行う
    • VPC、サブネット、セキュリティグループの紐づける
    • VPCおよびアクセスしたいVPC内のリソースへのアクセス権限をIAMロールとして設定する

VPC Lambdaによる外部通信が必要な場合

  • Lambdaをプライベートサブネットに配置した場合、外部との通信にはNAT Gatewayが必要
  • Lambda(プライベートサブネット)→NAT Gateway(パブリックサブネット)→インターネットという通信経路になる

【補足事項】

VPC LambdaはVPCにあるけどVPCにはない?

  • 上記の例ではプライベートサブネットにVPC Lambdaが配置されているという説明をした
  • 実態はLambdaが配置されているVPCとユーザが作成しているVPCが分かれており、NAT機能をつかって接続されているらしい

VPC Lambdaがスケールした際のIP枯渇の心配

  • VPC Lambdaがスケールした際、VPC内のIPアドレス枯渇が心配になる
  • Lambda側のVPC内でLambdaがスケール後、ユーザが作成したVPC内に新たにENIを作成するのではなく、NAT機能を用いて通信を集約することでプライベートIPの枯渇を防ぐ作りになっているとのこと
  • Lambdaスケール時のIP枯渇は考慮されているものの、VPC設計のタイミングでそれらを踏まえて必要なIPアドレス数を見積もることが必要

補足事項の参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?