2017-09-26 6 views
0

mes serveurs Web doivent accéder à S3. Quand je les place dans les sous-réseaux publics, ou les placer dans les sous-réseaux privés et utiliser des passerelles NAT, tout fonctionne très bien:AWS .NET SDK: impossible d'accéder à S3 à partir du point de terminaison 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); 

Maintenant j'ai essayé de placer les serveurs Web du sous-réseau privé avec les terminaux S3, mon code ne peut plus accéder à S3. Ai-je besoin de changer le code?

+1

Avez-vous configuré la table de routage pour utiliser le point de terminaison VPC S3? Essayez-vous d'accéder à un compartiment dans la même région que votre VPC ou dans une autre région? Quel message d'erreur recevez-vous? (N'hésitez pas à modifier votre question pour ajouter des détails.) –

Répondre

1

Juste un FYI VPC sont vraiment privé. Seul le trafic que vous autorisez explicitement peut transiter par les frontières du VPC. Ainsi, dans une VPC, les instances nécessitant un accès à des ressources externes doivent recevoir un EIP (auquel cas elles peuvent accéder aux ressources externes à l'aide de l'infrastructure AWS) ou vous devez fournir un hôte NAT (dans ce cas, tous du trafic libère le VPC via votre propre NAT).

Comme du 11 mai 2015 AWS a publié un "VPC Endpoint" pour S3, qui permet d'accéder à S3 directement à partir d'un VPC sans avoir à passer par un hôte proxy ou NAT instance

You Can Créez un point de terminaison, choisissez le VPC souhaité et personnalisez la politique d'accès (si vous le souhaitez):

Veuillez vous référer à AWS Blog Post pour plus de détails.

Espérons que cela aide.