私のチームは現在、NAT ゲートウェイのコストに悩まされており、すべての EC2-S3 通信に関連するコストを削減するために、VPC ゲートウェイ エンドポイントに切り替えたいと考えています。
同時に、
S3以外の通信にはNATゲートウェイを使いたいのですが、私の質問は
EC2 からの S3 通信が VPC エンドポイント ゲートウェイを通過し、他のすべてのトラフィックが NAT ゲートウェイを使用するようにするにはどうすればよいですか。
言い換えると
S3 エンドポイントが設定され、NAT ゲートウェイも設定されているシナリオでは何が起こりますか。トラフィックは NAT/インターネット ゲートウェイから流れますか、それとも S3 エンドポイントから流れますか?
どうすれば選択的にできるでしょうか?
答え1
作成するだけでS3 ゲートウェイ VPC エンドポイントルート テーブルにエントリがあることを確認してください (コンソールで実行する場合は自動的に行われるはずです)。S3 トラフィックは VPC エンドポイントを使用します。S3 インターフェイス エンドポイントは使用しないでください。S3 ゲートウェイ エンドポイントは無料ですが、S3 インターフェイス エンドポイントは有料です。
NAT ゲートウェイと S3 ゲートウェイ エンドポイントの両方が利用可能な場合は、S3 ゲートウェイが使用されます。パケットは常に最も具体的なルートを使用します。エンドポイント ルートは、最も一般的なルートである 0.0.0.0/0 よりも具体的であると見なされます。
何らかの理由で S3 インターフェース エンドポイントを使用していた場合、自動的に行われるはずです。記憶によれば、VPC DNS は NAT ゲートウェイではなくインターフェース エンドポイントを経由する S3 の適切な IP を返します。