我们的设置:
- 我们有一个本地服务器,我们希望从该服务器将数据发送到 S3(使用 AWS Java SDK)
- 我们的本地数据中心使用 Direct Connect 连接到 AWS
- 在 AWS 方面,有一个 VPC,它确实有一个到 S3 的 VPC 端点
我们的假设是一切都正确路由(本地可以看到 AWS 中的 VPC)。假设 VPC CIDR 范围为 10.10.10.0/24。
当我们在 SDK 中调用“PutObject”(但可以是任何 S3 方法)并给出我们存储桶的名称时,来自 SDK 的生成请求将针对公共 S3 IP 地址 (52.xxx)。但是,这不会被路由为:Direct Connect -> VPC -> VPC Endpoint -> S3,相反,我们的路由器会将流量路由到 Internet 代理(作为默认 0.0.0.0/0 路由) - 因为 VPC CIDR 范围为 10.10.10.0/24。
我的问题是(显然):是否有正确的方法通过 AWS Direct Connect 而不是通过互联网路由流量?
我希望有类似的东西:
- SDK 命令中有一个选项可包含应首先向其发送请求的其他 IP
- 有一些我们可以启动的 S3 本地服务
- 在一些涉及的服务中有一个简单的按钮可以按下。
免责声明:我不是真正的网络或 AWS 基础设施大师,所以请原谅我的一些含糊之处。