我已经为在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角色。