Skip to content
GitHubXDiscordRSS

Replicator

Learn how to create, update, and manage AWS MSK Replicators using Alchemy Cloud Control.

The Replicator resource allows you to manage AWS MSK Replicators for replicating data across Kafka clusters.

Create a basic MSK Replicator with required properties and a description.

import AWS from "alchemy/aws/control";
const basicReplicator = await AWS.MSK.Replicator("basicReplicator", {
ServiceExecutionRoleArn: "arn:aws:iam::123456789012:role/msk-replicator-role",
ReplicatorName: "basic-replicator",
ReplicationInfoList: [{
SourceClusterArn: "arn:aws:kafka:us-east-1:123456789012:cluster/source-cluster/abcdefg-1234-5678-90ab-cdef1234abcd-1",
DestinationClusterArn: "arn:aws:kafka:us-east-1:123456789012:cluster/destination-cluster/abcdefg-1234-5678-90ab-cdef1234abcd-2"
}],
KafkaClusters: [{
ClusterArn: "arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster/abcdefg-1234-5678-90ab-cdef1234abcd-3",
VpcId: "vpc-0abcd1234ef56789"
}],
Description: "This is a basic replicator for demo purposes."
});

Configure an MSK Replicator with additional tags and multiple replication information entries.

const advancedReplicator = await AWS.MSK.Replicator("advancedReplicator", {
ServiceExecutionRoleArn: "arn:aws:iam::123456789012:role/msk-replicator-role",
ReplicatorName: "advanced-replicator",
ReplicationInfoList: [
{
SourceClusterArn: "arn:aws:kafka:us-east-1:123456789012:cluster/source-cluster/abcdefg-1234-5678-90ab-cdef1234abcd-1",
DestinationClusterArn: "arn:aws:kafka:us-east-1:123456789012:cluster/destination-cluster/abcdefg-1234-5678-90ab-cdef1234abcd-2"
},
{
SourceClusterArn: "arn:aws:kafka:us-east-1:123456789012:cluster/another-source-cluster/abcdefg-1234-5678-90ab-cdef1234abcd-4",
DestinationClusterArn: "arn:aws:kafka:us-east-1:123456789012:cluster/another-destination-cluster/abcdefg-1234-5678-90ab-cdef1234abcd-5"
}
],
KafkaClusters: [{
ClusterArn: "arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster/abcdefg-1234-5678-90ab-cdef1234abcd-3",
VpcId: "vpc-0abcd1234ef56789"
}],
Tags: [
{ Key: "Environment", Value: "Production" },
{ Key: "Project", Value: "DataReplication" }
]
});

If you need to adopt an existing replicator, you can set the adopt property to true.

const adoptedReplicator = await AWS.MSK.Replicator("adoptedReplicator", {
ServiceExecutionRoleArn: "arn:aws:iam::123456789012:role/msk-replicator-role",
ReplicatorName: "adopted-replicator",
ReplicationInfoList: [{
SourceClusterArn: "arn:aws:kafka:us-east-1:123456789012:cluster/existing-source-cluster/abcdefg-1234-5678-90ab-cdef1234abcd-6",
DestinationClusterArn: "arn:aws:kafka:us-east-1:123456789012:cluster/existing-destination-cluster/abcdefg-1234-5678-90ab-cdef1234abcd-7"
}],
KafkaClusters: [{
ClusterArn: "arn:aws:kafka:us-east-1:123456789012:cluster/existing-cluster/abcdefg-1234-5678-90ab-cdef1234abcd-8",
VpcId: "vpc-0abcd1234ef56789"
}],
adopt: true
});