このサイトにはプロモーションが含まれます

 

VPCを指定しないでLambdaを作成した場合

VPCを指定しないで作成した場合、 AWSが管理するインターネット接続が可能なネットワーク環境(AWS管理VPCのような環境)で実行されます。

この状態では以下の仕様となります。

  • Lambda から インターネットの特定のエンドポイントにHTTPアクセスが可能
  • インターネットからLmabda へのHTTPアクセスができない

この状態の時、Lambda へのHTTPリクエストを投げるためには、APIGateway などのサービスを利用する必要があります。

 

 

APIGatewayって何?

WEBフレームワークを触ったことある方にイメージしやすいように一言で表すと、Route みたいな感じです。

APIGatewayの役割:

  • 認証とアクセス制御: API Gatewayには、IAM、Cognito、カスタムオーソライザーによる認証機能があり、ユーザーアクセスを管理できます。
  • 統合オプション: Lambdaや他のAWSサービスとシームレスに統合するための機能があり、APIリクエストを処理できます。例えば、Lambda関数と統合することでサーバーレスアーキテクチャを構築できます。
  • キャッシング: API Gatewayはキャッシュ機能を備えており、キャッシュを有効にするとAPIの応答速度が向上し、バックエンドの負荷が軽減します。
  • カスタムドメインの設定: APIに独自のドメインを割り当てることが可能で、ユーザーエクスペリエンスを向上させるための設定も簡単に行えます。

やんやん

プログラマーとしてLEMP環境に主に生息しており、DevOps 的な立ち回りをしながらご飯を食べている当ブログの管理人のやんやんと申します。
最近はTmux使うのを辞めました。

 

VPCを指定してLambdaを作成した場合

アプリケーションが稼働しているVPCの中だけで使用するLambdaを作成するといったユースケースも存在するかと思います。

VPCのプライベートサブネットのリソースにアクセス

プライベートサブネット内のリソースは、インターネットに直接アクセスできないように設計されていますが、インターネットへのアクセスが必要なケースもあります。そのため、プライベートサブネット内から外部のリソースやサービスにアクセスする方法として以下の方法が使われます。

  • NAT Gateway: プライベートサブネット内のリソースがインターネットに出ていく際に利用するためのゲートウェイです。NAT Gatewayをパブリックサブネットに配置し、プライベートサブネットからNAT Gateway経由でインターネットにアクセスできます。
  • VPCエンドポイント: 特定のAWSサービス(S3やDynamoDBなど)にアクセスする場合に使われるVPCエンドポイントを設定できます。インターネットに出る必要なく、プライベートネットワーク内でAWSサービスに直接接続できます。

Lambdaからインターネットにアクセス

AWS LambdaがVPCのプライベートサブネット内にデプロイされている場合、直接インターネットにアクセスすることはできません。しかし、Lambdaが外部サービスやAPIにアクセスする必要があるケースも多くあります。その場合、次の方法を用います。

  • NAT Gateway: Lambda関数がプライベートサブネット内にある場合、NAT Gatewayを経由することでインターネットにアクセスできます。LambdaのセキュリティグループやサブネットルートテーブルにNAT Gatewayを設定して、外部との通信を可能にします。
  • VPCエンドポイント: Lambda関数がAWSの内部サービス(S3やDynamoDBなど)と連携する場合、VPCエンドポイントを利用することで、インターネットを経由せずにサービスにアクセスできます。

Twitterでフォローしよう

読んでみーな
おすすめの記事