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" }]
});