web-dev-qa-db-ja.com

プライベートVPCサブネットからAmazon S3にアクセスする

VPCを実行していて、Amazon s3からファイルをダウンロードしてバックエンド処理を行うサーバーがそのネットワークのプライベート部分にある場合、内部でS3にアクセスしてそれらのファイルを取得できますか?または、NAT経由でパブリックインターネットにアクセスし、https経由でs3ファイルをダウンロードして、そのように処理する必要がありますか?

12
The Internet

「インターネット」のようなユーザー名で、私はあなたがこれを知っていると思います。しかし、あなたが尋ねたので...

:)

VPCは本当にプライベートです。明示的に許可したトラフィックのみがVPCの境界を通過できます。

したがって、VPC内で、外部リソースへのアクセスが必要なインスタンスには、EIPを割り当てる必要があります(この場合、AWSのインフラストラクチャを使用して外部リソースにアクセスできます)、またはNAT Host (この場合、すべてのトラフィックは独自のNATを介してVPCから出力されます)。

独自のNAT Hostを提供することを選択した場合は、そのインスタンスのソース/宛先チェックを無効にする必要があること、および=を指すプライベートサブネットへのデフォルトルートを追加する必要があることに注意してください。 NATホスト。

UPDATE(2015-05-10):2015年5月11日の時点で、AWSはS3用の 「VPCエンドポイント」をリリースしました を使用すると、プロキシホストまたはNATインスタンスを経由せずにVPCから直接S3にアクセスできます。VPCの本当にプライベートな性質を尊重して、この機能デフォルトではオフになっていますが、AWSコンソールまたはAPIを使用して簡単にオンにできます。

29
EEAA

インスタンスがVPCのパブリックサブネットにある場合:

  • インスタンスにパブリックIPアドレスが割り当てられている必要があります
  • または、インスタンスに割り当てられたエラスティックIPが必要です

インスタンスがVPCのプライベートサブネットにある場合:

  • NATデバイスがパブリックサブネットで実行されている必要があります。これにより、VPCのプライベートサブネットのインスタンスがNATを介してインターネットにアクセスし、S3にアクセスできるようになります。 AWS VPC NATを使用するか、独自に構成できます(独自のNATをセットアップする場合は、このためにGoogleを使用してください)

結論として、S3にアクセスするには、インターネットにアクセスできる必要があります。

2
slayedbylucifer