AWSにおけるVPCエンドポイントとNATゲートウェイ
AWSではさまざまなサービスが提供されており、それぞれのサービスには独自のAPI URLがあります。これらのAPIを呼び出すことで、各サービスを利用することができます。
プライベートサブネットからAWSサービスエンドポイントへの接続
プライベートサブネットからAWSサービスエンドポイントに接続するためには、NATゲートウェイまたはVPCエンドポイントのいずれかを使用することができます。基本的なインターネットアクセスにはNATゲートウェイが適しています。ただし、インターネットを経由せずにVPC内のサービスと直接通信したい場合があります。
VPCエンドポイントを用いた接続
VPCエンドポイントは、VPCと他のAWSサービス間のプライベート接続を可能にします。つまり、インターネットを経由しません。NATゲートウェイの代わりにエンドポイントを介してアクセスすることにより、よりセキュアで低コストな通信が可能になります。
VPCエンドポイントの種類
ゲートウェイエンドポイント
ゲートウェイエンドポイントは、NATゲートウェイを必要とせずに、VPC外のサービスにプライベートサブネットから安全にアクセスすることを可能にします。ゲートウェイエンドポイントを介してアクセスできるサービスはS3とDynamoDBに限定されています。ゲートウェイエンドポイントを作成するには、コンシューマーVPCのIDとエンドポイントへの経路設定が必要です。
インターフェースエンドポイント
インターフェースエンドポイントは、インターネットゲートウェイやNATゲートウェイを経由せずに、VPC外のサービス(AWSネットワーク内)にアクセスするための機能です。ECR、KMS、API Gatewayなど、さまざまなサービスと組み合わせて使用することができます。
ゲートウェイロードバランサーエンドポイント
このタイプのVPCエンドポイントは、VPCをゲートウェイロードバランサーに接続し、トラフィックを複数の仮想アプライアンスに分散するために使用されます。
VPCエンドポイントとNATゲートウェイの使用方法の違い
API Gateway
NATゲートウェイまたはVPCエンドポイントを使用するかどうかの決定は、AWS API Gatewayの場合など、特定のサービスの要件に依存することがあります。
NATゲートウェイを介した公開REST API Gatewayへのアクセス
パブリックREST API Gatewayにアクセスする場合、NATゲートウェイを介してアクセスすることができます。通信経路はVPCからREST API Gatewayに向かいます。
VPCエンドポイントを介したプライベートREST API Gatewayへのアクセス
プライベートアクセスのためにREST API Gatewayを設定し、VPCと通信を確立する場合、専用のVPCエンドポイントを作成する必要があります。
API Gatewayアクセスの潜在的な問題と解決策
ただし、VPCエンドポイントを作成すると、デフォルトでNATゲートウェイを介した公開可能なREST API Gatewayとの通信が妨げられる場合があります。公開REST API GatewayとプライベートREST API Gatewayを併用する場合は、公開API Gateway用にカスタムドメインを設定することで、NATゲートウェイを介して通信することができ、通信上の問題を回避することができます。
参考