特に設定を変更しない場合に EC2 インスタンスから S3 や DynamoDB などのパブリックなサービスエンドポイントを持つ AWS サービスとの通信は、VPC に紐づく Internet G/W 経由でおこなわれます。この時、通信はインターネットを経由するのかという質問をたまに受けます。
この質問の回答は、AWS の次のドキュメントを読むと分かります。
下図に示す通り、EC2 インスタンスから S3 への通信は Internet G/W を通過しますが、AWS グローバルネットワーク内で処理されます。この通信は、パブリック IP を使用しておこなわれますが、物理的にインターネットを経由しません。
Amazon VPC の FAQ にも次のように書かれています。
2 つのインスタンスがパブリック IP アドレスを使用して通信する場合、またはインスタンスがパブリックな AWS のサービスエンドポイントと通信する場合、トラフィックはインターネットを経由しますか?
いいえ。パブリック IP アドレスを使用する場合、AWS でホストされているインスタンスとサービス間のすべての通信は AWS のプライベートネットワークを使用します。AWS ネットワークから発信され、AWS ネットワーク上の送信先を持つパケットは、AWS 中国リージョンとの間のトラフィックを除いて、AWS グローバルネットワークにとどまります。
さらに、データセンターとリージョンを相互接続する AWS グローバルネットワークを流れるすべてのデータは、安全性が保証された施設を離れる前に、物理レイヤーで自動的に暗号化されます。すべての VPC クロスリージョンピアリングトラフィックや、カスタマーまたはサービス間のトランスポート層セキュリティ (TLS) 接続などといった追加の暗号化レイヤーもあります。
クロスアカウントのシナリオでも、同様に AWS グローバルネットワーク内で処理されるため、通信はインターネットを経由しません。
但し、このことがドキュメントへ記載されるようになったのは 2021 年頃からであり、それ以前の状況については具体的な情報が不足しています。
VPC から S3 への通信はインターネットを経由しませんが、VPC 内からのみの接続が必要な場合はインターネットからの接続を防ぐために VPC エンドポイントを設定することをおすすめします。
クロスアカウントのシナリオでは、VPC Peering と併用する必要があります。但し、ゲートウェイエンドポイントは利用できない点に注意が必要です。