DBCluster ​
The DBCluster resource allows you to manage AWS RDS DBClusters and their associated configurations. This resource facilitates the creation and management of highly available and scalable database clusters.
Minimal Example ​
Create a basic DBCluster with essential properties and common optional configurations.
ts
import AWS from "alchemy/aws/control";
const dbCluster = await AWS.RDS.DBCluster("myDbCluster", {
Engine: "aurora",
DBClusterIdentifier: "my-cluster-id",
MasterUsername: "adminUser",
MasterUserPassword: "securePassword123",
VpcSecurityGroupIds: ["sg-12345678"],
DBSubnetGroupName: "my-subnet-group",
Tags: [{ Key: "Environment", Value: "Production" }]
});
Advanced Configuration ​
Configure a DBCluster with advanced options such as performance insights and backup settings.
ts
const advancedDbCluster = await AWS.RDS.DBCluster("advancedDbCluster", {
Engine: "aurora",
DBClusterIdentifier: "my-advanced-cluster",
MasterUsername: "adminUser",
MasterUserPassword: "securePassword123",
VpcSecurityGroupIds: ["sg-87654321"],
DBSubnetGroupName: "my-subnet-group",
PerformanceInsightsEnabled: true,
PerformanceInsightsRetentionPeriod: 7,
BackupRetentionPeriod: 30,
EnableIAMDatabaseAuthentication: true,
Tags: [{ Key: "Environment", Value: "Staging" }]
});
Read Replica Configuration ​
Create a DBCluster configured as a read replica of an existing cluster.
ts
const readReplicaDbCluster = await AWS.RDS.DBCluster("readReplicaDbCluster", {
Engine: "aurora",
DBClusterIdentifier: "my-read-replica-cluster",
MasterUsername: "adminUser",
MasterUserPassword: "securePassword123",
SourceDBClusterIdentifier: "my-cluster-id",
VpcSecurityGroupIds: ["sg-12345678"],
DBSubnetGroupName: "my-subnet-group",
Tags: [{ Key: "Environment", Value: "Development" }]
});
Serverless Configuration ​
Set up a serverless DBCluster with scaling configurations.
ts
const serverlessDbCluster = await AWS.RDS.DBCluster("serverlessDbCluster", {
Engine: "aurora",
DBClusterIdentifier: "my-serverless-cluster",
MasterUsername: "adminUser",
MasterUserPassword: "securePassword123",
VpcSecurityGroupIds: ["sg-12345678"],
DBSubnetGroupName: "my-subnet-group",
ServerlessV2ScalingConfiguration: {
MinCapacity: "ACU_4",
MaxCapacity: "ACU_16"
},
Tags: [{ Key: "Environment", Value: "Testing" }]
});