我试图使用EC2服务器上的命令行界面在不同区域的两个S3存储桶之间进行复制.
地区信息:
EC2实例:us-west-2
S3 origin:us-east-1
S3目的地:us-west-2
以下命令可从EC2服务器完美运行:
aws s3 cp s3://n-virginia/origin s3://n-virginia/destination --recursive --source-region us-east-1 --region us-east-1 --profile my_profile
aws s3 cp s3://oregon/origin s3://oregon/destination --recursive --source-region us-west-2 --region us-west-2 --profile my_profile
我需要从EC2服务器运行以下命令:
aws s3 cp s3://n-virginia/origin s3://oregon/destination --recursive --source-region us-east-1 --region us-west-2 --profile my_profile
如果我从本地计算机运行该命令它可以工作,但如果我从我用于前两个命令的EC2服务器运行它,我会收到以下错误:
错误:"A client error (AccessDenied) occurred when calling the CopyObject operation: VPC endpoints do not support cross-region requests"
我能够将文件从原始存储桶复制到EC2服务器,然后从EC2服务器复制到目标存储桶,但这不是生产中可接受的解决方案.我不明白为什么它可以在本地机器上工作但不在EC2服务器上工作(两台机器上的"my_profile"相同)