从ec2实例访问不同的区域s3 bucket



我已经为在us-west-2区域-上运行的ec2实例分配了一个具有以下策略的角色

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "*"
}
]
}

以及尝试访问来自CCD_ 2区域的桶。问题是每个aws s3操作都超时了。我还尝试在命令--region ap-southeast-1中指定区域。

从文档中,我发现了这个指针-

端点仅在同一区域内受支持。您无法创建VPC和不同区域的服务之间的端点。

那么,从实例中使用aws-cli或boto客户端从不同区域访问bucket的过程是什么?

显然,要访问来自不同区域的bucket,实例还需要访问公共互联网。因此,实例需要有一个公共ip,或者它必须在NAT后面

我认为没有必要指定bucket的区域来访问它,您可以从这里查看一些boto3示例:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.get_object

我会检查以确保您已将上述权限授予正确的用户或角色。

运行命令;

aws sts get-caller-identity 

您可能认为EC2实例正在使用您设置的凭据,而它可能正在使用IAM角色。

最新更新