ReplicationInstance
The ReplicationInstance resource allows you to create and manage AWS DMS ReplicationInstances that facilitate data replication across different data sources. This resource is essential for setting up data migration tasks and ensuring efficient data flow between databases.
Minimal Example
Section titled “Minimal Example”Create a basic DMS ReplicationInstance with required properties and one optional property.
import AWS from "alchemy/aws/control";
const replicationInstance = await AWS.DMS.ReplicationInstance("myReplicationInstance", { ReplicationInstanceClass: "dms.r5.large", AllocatedStorage: 100, DnsNameServers: "8.8.8.8,8.8.4.4" // Optional: Custom DNS name servers});
Advanced Configuration
Section titled “Advanced Configuration”Configure a DMS ReplicationInstance with additional options such as maintenance window and multi-AZ deployment.
const advancedReplicationInstance = await AWS.DMS.ReplicationInstance("myAdvancedReplicationInstance", { ReplicationInstanceClass: "dms.r5.xlarge", AllocatedStorage: 200, MultiAZ: true, // Enable Multi-AZ for high availability PreferredMaintenanceWindow: "sun:05:00-sun:06:00", // Set maintenance window EngineVersion: "3.4.6", // Specify engine version Tags: [ { Key: "Environment", Value: "Production" }, { Key: "Project", Value: "DataMigration" } ]});
Public Access Configuration
Section titled “Public Access Configuration”Create a DMS ReplicationInstance that is publicly accessible.
const publicReplicationInstance = await AWS.DMS.ReplicationInstance("myPublicReplicationInstance", { ReplicationInstanceClass: "dms.r5.large", AllocatedStorage: 150, PubliclyAccessible: true, // Make the replication instance publicly accessible VpcSecurityGroupIds: ["sg-0123456789abcdef0"], // Security group for access control ReplicationSubnetGroupIdentifier: "myReplicationSubnetGroup" // Subnet group for VPC});
Encryption with KMS
Section titled “Encryption with KMS”Set up a DMS ReplicationInstance with KMS encryption for enhanced security.
const encryptedReplicationInstance = await AWS.DMS.ReplicationInstance("myEncryptedReplicationInstance", { ReplicationInstanceClass: "dms.r5.large", AllocatedStorage: 100, KmsKeyId: "arn:aws:kms:us-east-1:123456789012:key/my-kms-key-id", // KMS key for encryption AllowMajorVersionUpgrade: true, // Allow major version upgrades AutoMinorVersionUpgrade: true // Automatically upgrade minor versions});