我从在私有子网中运行的 EC2 实例内部收到“无法连接到端点 URL:”https://s3.amazonaws.com/”
注意:我们在本练习中使用我们的公司共享 AWS 账户而不是联合账户。
这是一个配置:
创建了一个具有 1 个私有(附加到 S3 和 Dynamodb 的 VPC 终端节点)和 1 个公共(附加到 Internet 网关)子网的 VPC。没有 NAT 网关或实例。
在每个子网中启动一个 EC2 实例(Amazon Linux AMI)。附加 IAM 角色以访问 EC2 实例的 dynamodb 和 S3
从终端连接到 EC2。
aws configure
使用S3 VPC 端点的策略配置了我的访问密钥:
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Resource": "*",
"Principal": "*"
}
]
}
路由会自动添加到目的地为 pl-xxxxxxxx(com.amazonaws.us-east-1.s3) 的 VPC 路由中,目标是在
- 在私有子网的安全组中打开出站规则中的所有流量到以 pl-xxxxxxxx 开头的目标前缀 s3 端点现在在终端上的私有 ec2 实例中输入以下命令
aws s3 ls --debug --region us-west-2
我收到以下错误
"ConnectionTimeout: Could not connect to the endpoint URL https://sts.us-west-2.amazonaws.com:443"
我阅读了谷歌上几乎所有的资源,它们遵循了我一直遵循的相同步骤,但对我来说并不奏效。唯一的区别是他们使用的是联合 AWS 账户,而我使用的是共享 AWS 账户。dynamodb 访问也是如此。
类似的 stackoverflow 问题:通过 EC2 实例内的 S3 VPC 端点连接到 S3 存储桶超时
但我不能从中受益太多。提前非常感谢。
更新:我能够通过在私有子网中创建 STS 接口端点,然后通过在 EC2 实例中担任角色来访问 Dynamodb 和 S3 来解决 STS 端点的问题