1 回答
- 最新
- 投票最多
- 评论最多
1
Found the solution - it is supported as of now, but not well documented.
Basically you need to ensure you force rules to use the new Replication Rules V2 schema to support multiple destination buckets. As per https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations V2 schema is forced by specifying the Filter
property on each rule.
Once you do this you need to ensure you add a number of configuration properties for each rule as per the example below, and you also need to ensure each Priority
is a unique value.
Here is a working example:
Resources: PublicBucket: Type: AWS::S3::Bucket Properties: BucketName: foo-sandbox-us-west-2-public-web VersioningConfiguration: Status: Enabled ReplicationConfiguration: Role: !GetAtt PublicBucketReplicationRole.Arn Rules: - Id: ap-southeast-1 Status: Enabled DeleteMarkerReplication: Status: Enabled Priority: 1 Filter: Prefix: '' Destination: Bucket: arn:aws:s3:::foo-sandbox-ap-southeast-1-public-web - Id: ap-southeast-2 Status: Enabled DeleteMarkerReplication: Status: Enabled Priority: 2 Filter: Prefix: '' Destination: Bucket: arn:aws:s3:::foo-sandbox-ap-southeast-2-public-web PublicBucketReplicationRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Statement: - Effect: Allow Principal: Service: s3.amazonaws.com Action: sts:AssumeRole Policies: - PolicyName: Allow PolicyDocument: Statement: - Effect: Allow Action: - s3:GetReplicationConfiguration - s3:ListBucket Resource: arn:aws:s3:::foo-sandbox-us-west-2-public-web - Effect: Allow Action: - s3:GetObjectVersionForReplication - s3:GetObjectVersionAcl - s3:GetObjectVersionTagging Resource: arn:aws:s3:::foo-sandbox-us-west-2-public-web/* - Effect: Allow Action: - s3:GetObjectVersionTagging - s3:ReplicateObject - s3:ReplicateDelete - s3:ReplicateTags Resource: arn:aws:s3:::foo-sandbox-*-public-web/*
已回答 3 年前
相关内容
- AWS 官方已更新 2 年前