![如何才能有效地将 S3 存储桶移动到新的 AWS 区域,同时保持相同的存储桶名称?](https://linux22.com/image/793340/%E5%A6%82%E4%BD%95%E6%89%8D%E8%83%BD%E6%9C%89%E6%95%88%E5%9C%B0%E5%B0%86%20S3%20%E5%AD%98%E5%82%A8%E6%A1%B6%E7%A7%BB%E5%8A%A8%E5%88%B0%E6%96%B0%E7%9A%84%20AWS%20%E5%8C%BA%E5%9F%9F%EF%BC%8C%E5%90%8C%E6%97%B6%E4%BF%9D%E6%8C%81%E7%9B%B8%E5%90%8C%E7%9A%84%E5%AD%98%E5%82%A8%E6%A1%B6%E5%90%8D%E7%A7%B0%EF%BC%9F.png)
我目前的计划是将 S3 存储桶从 AWS 区域移动us-west-1
到 AWS 区域us-west-2
,同时保持相同的存储桶名称,这似乎非常低效,因为它将整个存储桶复制两次:
# Create new bucket in us-west-2
aws s3 mb s3://temp-bucket --region us-west-2
# Copy files from old to new bucket in us-west-2
aws s3 sync s3://my-bucket s3://temp-bucket --source-region us-west-1 --region us-west-2
# Delete the old bucket in us-west-1
aws s3 rb --force s3://my-bucket
# Create new bucket in us-west-2
aws s3 mb s3://my-bucket --region us-west-2
# Copy files from old to new bucket
aws s3 sync s3://temp-bucket s3://new-bucket
如何才能有效地将 S3 存储桶移动到新的 AWS 区域,同时保持相同的存储桶名称?
答案1
你不能。更糟糕的是,你也无法重命名存储桶,而且可能需要长达 24 小时才能重新使用旧存储桶名称。
除了运行 AWS CLI 命令之外,您还可以设置跨区域复制在存储桶之间。将所有内容放入 us-west-2 存储桶中,开始临时使用该存储桶。删除 us-east-1 存储桶,等待 24 小时,在 us-west-2 中重新创建存储桶,然后使用同区域复制将所有内容放入新存储桶中。
这消除了本地 CLI 会话中断导致复制停止的可能性,并使存储桶始终保持最新状态,直到您删除旧存储桶。我建议快速查看一下设置此项所涉及的成本。