DBInstance
The DBInstance resource lets you manage AWS RDS DBInstances for relational databases, providing a scalable and reliable way to store and retrieve your data.
Minimal Example
Section titled “Minimal Example”Create a basic RDS DBInstance with required properties and a couple of common optional settings.
import AWS from "alchemy/aws/control";
const dbInstance = await AWS.RDS.DBInstance("myDbInstance", { DBInstanceIdentifier: "my-database", DBInstanceClass: "db.t3.micro", Engine: "mysql", AllocatedStorage: "20", MasterUsername: "admin", MasterUserPassword: "password123", StorageEncrypted: true, VPCSecurityGroups: ["sg-0123456789abcdef0"]});
Advanced Configuration
Section titled “Advanced Configuration”Configure an RDS DBInstance with advanced options such as performance insights and automated backups.
const advancedDbInstance = await AWS.RDS.DBInstance("advancedDbInstance", { DBInstanceIdentifier: "my-advanced-database", DBInstanceClass: "db.t3.medium", Engine: "postgres", AllocatedStorage: "50", MasterUsername: "admin", MasterUserPassword: "securePassword", EnablePerformanceInsights: true, PerformanceInsightsRetentionPeriod: 7, BackupRetentionPeriod: 30, MultiAZ: true, Tags: [ { Key: "Environment", Value: "Production" }, { Key: "Project", Value: "MyProject" } ]});
Read Replica Configuration
Section titled “Read Replica Configuration”Create an RDS Read Replica to scale read operations for your database.
const readReplica = await AWS.RDS.DBInstance("myReadReplica", { DBInstanceIdentifier: "my-db-read-replica", SourceDBInstanceIdentifier: "my-database", DBInstanceClass: "db.t3.medium", AllocatedStorage: "20", Tags: [ { Key: "Type", Value: "ReadReplica" }, { Key: "Project", Value: "MyProject" } ]});
Snapshot Restore
Section titled “Snapshot Restore”Restore a DBInstance from an existing snapshot.
const restoredDbInstance = await AWS.RDS.DBInstance("restoredDbInstance", { DBInstanceIdentifier: "my-restored-database", DBSnapshotIdentifier: "my-database-snapshot", DBInstanceClass: "db.t3.medium", Tags: [ { Key: "RestoredFrom", Value: "my-database-snapshot" } ]});
Security Group Configuration
Section titled “Security Group Configuration”Create a DBInstance with specific security group settings to control access.
const secureDbInstance = await AWS.RDS.DBInstance("secureDbInstance", { DBInstanceIdentifier: "my-secure-database", DBInstanceClass: "db.t3.micro", Engine: "mysql", AllocatedStorage: "20", MasterUsername: "admin", MasterUserPassword: "superSecretPassword", VPCSecurityGroups: ["sg-0a1b2c3d4e5f67890"], // Replace with your security group ID PubliclyAccessible: false, Tags: [ { Key: "Access", Value: "Internal" }, { Key: "Environment", Value: "Development" } ]});