为了保证我们在AWS上的资源安全,我们试图阻止EC2实例访问互联网,除非我们明确需要它。我们有一个EC2实例(Ubuntu)正在运行,我们希望在其上安装AWS cloudwatch代理。默认的方法是使用wget从s3的内部地址下载安装文件(如链接的文章所示)。
我们现在想用VPC端点取代EC2实例对internet的公共访问。我分别为我们地区的全局S3访问和S3访问创建了一个接口端点。最理想的情况是,EC2实例现在将通过我们的端点连接到S3桶,从AWS地址下载资源。
我现在如何使用wget从我的EC2实例访问文件?本文列出了一个用于全局s3访问的url选项和另一个用于区域s3访问的url选项,但是使用这两个url都无法获得连接。以下是我尝试过的一些url示例:
wget https://accesspoint.s3-global.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
wget https://s3.vpce-123456.s3.eu-central-1.vpce.amazonaws.com/amazoncloudwatch-agent-eu-central-1/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
wget https://amazoncloudwatch-agent-eu-central-1.vpce-123456.s3.eu-central-1.vpce.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
请注意,accesspoint.s3-global.amazonaws.com
是全局s3服务端点(自动)创建的内部私有DNS表项,*.vpce-123456.s3.eu-central-1.vpce.amazonaws.com
是区域s3服务端点创建的DNS表项之一。
确保您已经更新了子网的路由表。添加将流量路由到端点网关的规则(因为我们讨论的是S3)。