Skip to content

DBInstance ​

The DBInstance resource lets you manage AWS DocumentDB DBInstances for your database applications.

Minimal Example ​

Create a basic DocumentDB instance with required properties and a common optional property.

ts
import AWS from "alchemy/aws/control";

const docDbInstance = await AWS.DocDB.DBInstance("myDocDbInstance", {
  DBInstanceClass: "db.r5.large",
  DBClusterIdentifier: "myDocDbCluster",
  EnablePerformanceInsights: true,
  Tags: [
    { Key: "Environment", Value: "Development" },
    { Key: "Project", Value: "AlchemyDemo" }
  ]
});

Advanced Configuration ​

Configure a DocumentDB instance with additional settings such as maintenance window and security options.

ts
const advancedDocDbInstance = await AWS.DocDB.DBInstance("advancedDocDbInstance", {
  DBInstanceClass: "db.r5.2xlarge",
  DBClusterIdentifier: "myDocDbCluster",
  PreferredMaintenanceWindow: "Mon:00:00-Mon:00:30",
  AutoMinorVersionUpgrade: true,
  CertificateRotationRestart: true,
  CACertificateIdentifier: "rds-ca-2019",
  Tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Project", Value: "AlchemyDemo" }
  ]
});

Creating an Instance in a Specific Availability Zone ​

This example demonstrates how to create a DocumentDB instance in a specific availability zone to optimize latency.

ts
const azDocDbInstance = await AWS.DocDB.DBInstance("azDocDbInstance", {
  DBInstanceClass: "db.r5.large",
  DBClusterIdentifier: "myDocDbCluster",
  AvailabilityZone: "us-east-1a", // Specify the availability zone
  EnablePerformanceInsights: true,
  Tags: [
    { Key: "Environment", Value: "Staging" },
    { Key: "Project", Value: "AlchemyDemo" }
  ]
});

Adoption of Existing Resource ​

This example illustrates how to adopt an existing DocumentDB instance rather than creating a new one.

ts
const adoptDocDbInstance = await AWS.DocDB.DBInstance("existingDocDbInstance", {
  DBInstanceClass: "db.r5.large",
  DBClusterIdentifier: "myDocDbCluster",
  adopt: true // Adopt existing resource instead of failing
});