2017-09-26 22 views
0

ウェブサーバーがS3にアクセスする必要があります。私は公共のサブネットに配置し、またはプライベートサブネットに置くと、NATゲートウェイを使用すると、すべてが正常に動作します:AWS .NET SDK:S3エンドポイントからS3にアクセスできない

IAmazonS3 client = new AmazonS3Client("myaccesskey", "mysecretkey", enRegion); 
PutObjectRequest putReq = new PutObjectRequest(); 
putReq.FilePath = "c:\temp\myphoto.jpg"; 
putReq.BucketName = "MyBucket"; 
putReq.Key = "myphoto.jpg"; 
PutObjectResponse putResp = client.PutObject(putReq); 

は今、私はS3のエンドポイント、私のコードとプライベートサブネット内のWebサーバを配置してみましたS3にアクセスできなくなります。コードを変更する必要がありますか?

+1

S3 VPCエンドポイントを使用するようにルートテーブルを設定しましたか? VPCと同じ地域のバケットにアクセスしようとしていますか、別の地域にあるバケットにアクセスしようとしていますか?どのようなエラーメッセージが表示されますか? (詳細を追加するには、質問を編集してください) –

答えて

1

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

したがって、外部リソースへのアクセスを必要とするインスタンスには、EIP(AWSのインフラストラクチャを使用して外部リソースにアクセスできる)を割り当てるか、NATホストを提供する必要がありますトラフィックのうち、自分のNAT経由でVPCを出ます)。 5月11日、2015年のよう

、AWSは、あなたができる

プロキシホストまたはNATインスタンスを経由することなく、VPCから直接S3へのアクセスを可能にするS3のための「VPCエンドポイント」を、リリースしましたエンドポイントを作成し、目的のVPCを選択し、アクセスポリシーをカスタマイズします(必要な場合)。

AWS Blog Postを参照してください。

これが役に立ちます。

関連する問題