Skip to content

S3 bucket cross-region replication disabled

Description

Cross-region replication enables automatic, asynchronous copying of objects across S3 buckets.
By default, replication supports copying new S3 objects after it is enabled. It also requires versioning for the buckets involved. It is also possible to use replication to copy existing objects and clone them to a different bucket, but in order to do so, you must contact AWS Support.

Fix - Buildtime

Terraform

  • Resource: aws_s3_bucket, aws_s3_bucket_replication_configuration

```go aws_s3_bucket.test.tf resource "aws_s3_bucket" "east" { bucket = "tf-test-bucket-east-12345" }

  • resource "aws_s3_bucket_versioning" "east" {
  • bucket = aws_s3_bucket.east.id
  • versioning_configuration {
  • status = "Enabled"
  • }
  • }

  • resource "aws_s3_bucket" "west" {

  • provider = aws.west
  • bucket = "tf-test-bucket-west-12345"
  • }

  • resource "aws_s3_bucket_versioning" "west" {

  • provider = aws.west

  • bucket = aws_s3_bucket.west.id

  • versioning_configuration {
  • status = "Enabled"
  • }
  • }

  • resource "aws_s3_bucket_replication_configuration" "east_to_west" {

  • depends_on = [aws_s3_bucket_versioning.east]
  • role = aws_iam_role.east_replication.arn
  • bucket = aws_s3_bucket.east.id
  • rule {
  • status = "Enabled"
  • destination {
  • bucket = aws_s3_bucket.west.arn
  • storage_class = "STANDARD"
  • }
  • }
  • } ```