我们的设置:
我们的假设是一切都已正确路由(内部部署可以看到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而不是通过互联网路由流量?
我希望有这样的东西:
免责声明:我并不是网络或AWS基础架构师,所以请谅解。
答案 0 :(得分:1)
如果不使用proxies,则无法通过Direct Connect专用VIF访问VPC端点。
您可以分配一个公共VIF。在VGW中启用路由传播后,AWS会将所有公共路由发布到客户的路由器,因此,该区域中所有指向AWS服务的流量都将通过Direct Connect传输。
公共虚拟接口可以使用公共IP地址访问所有AWS公共服务。 公共虚拟接口允许您全局连接到所有AWS公共IP空间。任何Direct Connect位置的Direct Connect客户都可以创建公共虚拟接口来接收Amazon的全球IP路由
答案 1 :(得分:0)
使用公共VIF也有其缺点。客户喜欢利用高速AWS Direct Connect将文件复制到S3。由于S3是公共服务,因此当前的标准解决方案是使用公共VIF将整个S3公共地址范围播发到本地(如前所述)。但是,这意味着所有本地用户都可以上传到任何S3存储桶,包括通过自己的个人帐户上传到其个人S3存储桶。当前解决方案如下。
即使您使用S3私有端点服务,该端点仍由代表该地区AWS S3的公共CIDR块代表。请查看此内容,了解通过直接连接访问S3存储桶的另一种方法,而无需向外界开放它并放弃访问。