使用 AWS SDK 通过 Direct Connect、VPC 和 VPC 终端节点从本地环境访问 AWS S3

mLC*_*mLC 5 routes amazon-s3 amazon-web-services amazon-vpc aws-direct-connect

我们的设置:

  • 我们有一个本地服务器,我们希望将数据发送到 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,相反,我们的路由器会将流量路由到互联网代理(作为默认 0.0.0.0/0 路由) - 因为 VPC CIDR 范围为 10.10.10.0/24。

我的问题(显然)是:是否有正确的方法如何通过 AWS Direct Connect 而不是通过互联网路由流量

我希望有这样的事情:

  • SDK 命令中有一个选项可以包含请求应首先发送到的其他 IP
  • 我们可以启动一些 S3 本地服务
  • 在一些涉及的服务中有一个简单的按钮可以按下。

免责声明:我并不是真正的网络或 AWS 基础设施专家,所以请原谅我的一些含糊之处。

Vik*_*yol 3

如果不使用代理,您无法通过 Direct Connect 专用 VIF 访问 VPC 终端节点。

\n\n

您可以改为分配公共 VIF。当您在 VGW 中启用路由传播时,AWS 会将所有公共路由通告到客户的路由器,因此该区域中流向 AWS 服务的所有流量都将通过 Direct Connect 进行。

\n\n
\n

公共虚拟接口可以使用公共 IP 地址访问所有 AWS 公共服务。\n 公共虚拟接口允许您连接到全球所有 AWS 公共 IP 空间。任何 Direct Connect 位置的 Direct Connect 客户都可以创建公共虚拟接口来接收 Amazon\xe2\x80\x99s 全局 IP 路由

\n
\n