Amazon Simple Storage Service (S3) 是一种可扩展的对象存储服务,广泛用于存储和检索数据。其主要功能之一是跨区域复制 (CRR),允许跨不同的 AWS 区域自动异步复制对象。此功能对于灾难恢复、数据冗余以及改善不同地理区域的数据访问延迟至关重要。
在本文中,我们将介绍在 AWS S3 中设置跨区域复制的过程,确保您的数据在各个区域之间安全地复制,以实现最大的可用性和耐用性。
跨区域复制 (CRR) 是 AWS S3 中的一项功能,可自动将上传到某个 AWS 区域存储桶的每个对象复制到另一个区域的存储桶。此过程有助于在不同位置维护相同的数据副本,从而提供增强的数据可用性和保护。
CRR 不同于同区域复制 (SRR),后者复制同一区域内的对象。虽然 SRR 对于区域内的合规性和备份很有用,但 CRR 提供了地理隔离,以改善灾难恢复和性能。
要设置 CRR,您需要:
源存储桶和目标存储桶都必须启用版本控制。版本控制有助于跟踪对象的不同版本,这对于准确复制至关重要。
使用AWS管理控制台:
使用 AWS CLI:
# Create source bucketCreate source bucket
aws s3api create-bucket --bucket source-bucket-name --region source-region --create-bucket-configuration LocationConstraint=source-region
# Create destination bucket
aws s3api create-bucket --bucket destination-bucket-name --region destination-region --create-bucket-configuration LocationConstraint=destination-region
使用AWS管理控制台:
使用 AWS CLI:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
"Action": "sts:AssumeRole"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObjectVersionForReplication",
"s3:GetObjectVersionAcl",
"s3:GetObjectVersionTagging"
],
"Resource": "arn:aws:s3:::source-bucket-name/*"
},
{
"Effect": "Allow",
"Action": "s3:ReplicateObject",
"Resource": "arn:aws:s3:::destination-bucket-name/*"
}
]
}
JSON 配置示例:
{
"Role": "arn:aws:iam::account-id:role/role-name",
"Rules": [
{
"Status": "Enabled",
"Prefix": "",
"Destination": {
"Bucket": "arn:aws:s3:::destination-bucket-name"
}
}
]
}
要验证复制是否有效,请将对象上传到源存储桶并检查目标存储桶中是否存在复制的对象。
使用 AWS CLI:
# Upload object to source bucket
aws s3 cp local-file-path s3://source-bucket-name
# List objects in destination bucket
aws s3 ls s3://destination-bucket-name
在 AWS S3 中设置跨区域复制是确保跨不同地理位置的数据持久性、可用性和灾难恢复的有效方法。通过遵循本指南中概述的步骤,您可以高效地配置 CRR 并利用其优势实现数据管理策略。实施 CRR 不仅可以增强数据冗余,还可以让您的系统为高可用性和合规性要求做好准备。
感谢关注雲闪世界。(Aws解决方案架构师vs开发人员&GCP解决方案架构师vs开发人员)