如何在 Java 中使用 S3 VPC 终端节点?

use*_*951 3 amazon-s3 amazon-web-services

在JAVA中使用S3的VPC端点获取S3对象的方法是什么?我应该使用一个简单的 http 客户端吗?或者有没有办法使用 AmazonS3ClientBuilder 来做到这一点?

Mic*_*bot 5

配置 S3 VPC 终端节点后,您在使用它时不会执行任何不同的操作。您的代码中没有任何变化。

当 VPC 中的子网与为 VPC 终端节点配置的路由表关联时,只会发生一件事:

  • 您所在区域中 S3 的所有公共 IP 地址都将路由到 VPC 终端节点,而不是遵循默认路由。

就是这样。

路由表中的前缀列表 代表pl-xxxxxxxx您所在区域中与 S3 关联的所有公有子网的列表。该列表由 AWS 基础设施自动维护。当实例将流量发送到 S3 时,它会进行 DNS 查找以查找存储桶的 IP 地址。当它连接到该 IP 地址时,如果实例子网的路由表包含使用 S3 的 VPC 终端节点的该前缀列表的条目,则它会通过该终端节点连接到 S3。

与指定路由表关联的子网中的所有实例都会自动使用端点来访问服务;未与指定路由表关联的子网不使用端点来访问服务。

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html#vpc-endpoints-routing