Skip to content

ReplicationConfiguration ​

The ReplicationConfiguration resource lets you manage AWS ECR ReplicationConfigurations for replicating images across AWS Regions.

Minimal Example ​

Create a basic replication configuration with required properties.

ts
import AWS from "alchemy/aws/control";

const basicReplicationConfig = await AWS.ECR.ReplicationConfiguration("basicReplicationConfig", {
  ReplicationConfiguration: {
    Rules: [
      {
        Destination: {
          Region: "us-west-2"
        },
        RepositoryFilters: [
          {
            Filter: "my-repo/*",
            FilterType: "PREFIX"
          }
        ]
      }
    ]
  }
});

Advanced Configuration ​

Configure a replication setup with detailed rules and multiple destinations.

ts
const advancedReplicationConfig = await AWS.ECR.ReplicationConfiguration("advancedReplicationConfig", {
  ReplicationConfiguration: {
    Rules: [
      {
        Destination: {
          Region: "us-east-1"
        },
        RepositoryFilters: [
          {
            Filter: "project-repo/*",
            FilterType: "PREFIX"
          }
        ]
      },
      {
        Destination: {
          Region: "eu-west-1"
        },
        RepositoryFilters: [
          {
            Filter: "another-repo/*",
            FilterType: "PREFIX"
          }
        ]
      }
    ]
  },
  adopt: true
});

Example with IAM Policies ​

Set up a replication configuration with IAM policies to restrict access.

ts
const policyReplicationConfig = await AWS.ECR.ReplicationConfiguration("policyReplicationConfig", {
  ReplicationConfiguration: {
    Rules: [
      {
        Destination: {
          Region: "ap-south-1"
        },
        RepositoryFilters: [
          {
            Filter: "secure-repo/*",
            FilterType: "PREFIX"
          }
        ]
      }
    ]
  },
  adopt: true
});

// Example IAM policy for ECR actions
const ecrPolicy = {
  Version: "2012-10-17",
  Statement: [
    {
      Effect: "Allow",
      Action: [
        "ecr:BatchCheckLayerAvailability",
        "ecr:BatchGetImage",
        "ecr:GetAuthorizationToken"
      ],
      Resource: "*"
    }
  ]
};

Example with Multiple Regions ​

Set a replication configuration that replicates images to multiple AWS Regions.

ts
const multiRegionReplicationConfig = await AWS.ECR.ReplicationConfiguration("multiRegionReplicationConfig", {
  ReplicationConfiguration: {
    Rules: [
      {
        Destination: {
          Region: "us-west-1"
        },
        RepositoryFilters: [
          {
            Filter: "multi-repo/*",
            FilterType: "PREFIX"
          }
        ]
      },
      {
        Destination: {
          Region: "eu-central-1"
        },
        RepositoryFilters: [
          {
            Filter: "multi-repo/*",
            FilterType: "PREFIX"
          }
        ]
      }
    ]
  }
});