AWS .NET SDK:无法从S3端点访问S3



我的Web服务器需要访问S3。当我将它们放在公共子网中,或将它们放在私人子网中并使用NAT网关时,一切正常:

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

现在,我尝试将Web服务器放置在带有S3端点的私有子网中,我的代码无法再访问S3。我需要更改代码吗?

只是FYI VPC是真正的私人。只有您明确允许的流量才能传输VPC的边界。

因此,在VPC内部,需要访问外部资源的实例要么需要分配EIP(在这种情况下,他们可以使用AWS的基础架构访问外部资源),或者您需要提供NAT主机(在这种情况下流量通过您自己的NAT出口VPC)。

截至2015年5月11日,AWS已发布了S3的" VPC端点",该端点允许直接从VPC访问S3,而无需通过代理主机或NAT实例

您可以创建端点,选择所需的VPC并自定义访问策略(如果需要):

请参阅AWS博客文章以获取详细信息。

希望这会有所帮助。

相关内容

  • 没有找到相关文章

最新更新