- 新しい順
- 投票が多い順
- コメントが多い順
VPCエンドポイントのプライベートDNS機能について、ご質問の構成に基づいて回答いたします。
質問①:VPCエンドポイントのプライベートDNS設定を有効にした場合、オンプレミスからCLIでPutObjectを実行すると、正常に終了する可能性が高いです。
プライベートDNSを有効にすると、S3のパブリックDNS名(例:s3.amazonaws.com)がVPCエンドポイントのプライベートIPアドレスに解決されます。これにより、VPC内からのS3へのリクエストは自動的にVPCエンドポイントを経由します。
ただし、オンプレミスからのリクエストがVPCエンドポイントを経由するためには、オンプレミスのDNS設定がVPCのDNS設定と連携されている必要があります。Direct Connect (DX)を介してVPCに接続されている場合、適切なルーティングとDNS設定が行われていれば、オンプレミスからのリクエストもVPCエンドポイントを使用してS3にアクセスできるはずです。
質問②:プライベートDNS設定が無効の場合、挙動が変わる可能性があります。
プライベートDNS設定が無効の場合、S3のパブリックDNS名はAWSのパブリックIPアドレスに解決されます。この場合、オンプレミスからのリクエストはインターネットを経由してS3に直接アクセスすることになります。VPCエンドポイントを使用するためには、エンドポイント固有のDNS名を明示的に指定する必要があります。
ただし、ネットワークの設定によっては、VPCエンドポイントを経由するようにルーティングが構成されている可能性もあります。その場合、プライベートDNS設定の有無に関わらず、トラフィックはVPCエンドポイントを通過する可能性があります。
結論として、プライベートDNS設定の有無によって挙動が変わる可能性がありますが、具体的な影響はネットワーク構成やDNS設定に大きく依存します。正確な挙動を確認するためには、実際の環境でテストを行うことをお勧めします。
Sources
Can private DNS of an EC2 instance in a peer VPC from the same Region be resolved, and does this need to be explicitly enabled? | AWS re:Post
AWS CLIを実行するオンプレミスのサーバーや端末はどのDNSサーバーを使用して名前解決を行っていますか?
VPCエンドポイントのプライベートDNSの設定はVPC内からサービスエンドポイントを名前解決 (Route 53 Resolverを使用している場合) するとVPCエンドポイントのプライベートIPアドレスに名前解決できる設定です。
https://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/interface-endpoints.html#enable-private-dns-names
AWS のサービスの VPC エンドポイントに対してプライベート DNS ホスト名を有効にすることをお勧めします。これにより、 AWS SDK を介して行われたリクエストなど、パブリックサービスエンドポイントを使用するリクエストが VPC エンドポイントに解決されます。
なので、オンプレミスのサーバーや端末がRoute 53 Resolver インバウンドエンドポイントを使用した名前解決をしていない場合は挙動に影響は出ないです。
https://dev.classmethod.jp/articles/amazon-s3-private-connectivity-on-premises-networks/#:~:text=Enable%20DNS%20support-,VPC%20%E5%A4%96%E3%81%8B%E3%82%89%E3%81%AE%20Route%2053%20Resolver%20%E3%81%AE%E5%88%A9%E7%94%A8,-VPC%20%E5%A4%96%E3%81%AE
質問①:以下の構成でVPCエンドポイントのプライベートDNSの設定を有効にした場合に オンプレからCLIでPutObjectを実行した場合、正常に終了するか。
はい、S3へのネットワーク経路がありS3サービスエンドポイントの名前解決 (VPCエンドポイントを経由したい場合はDNSの設定もしくはコマンドのオプション設定が必要) ができれば正常に実行できます。
質問②:上記設定が無効の場合でも挙動は変わるか。
上記で記載した通りオンプレミスのサーバーや端末がどのDNSサーバーを使用しているかによって挙動が変わります。
