Skip to content

Cluster ​

The Cluster resource lets you manage AWS MemoryDB Clusters and their configuration settings.

Minimal Example ​

Create a basic MemoryDB cluster with required properties and a few common optional settings.

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

const memoryDBCluster = await AWS.MemoryDB.Cluster("myMemoryDBCluster", {
  ACLName: "myACL",
  ClusterName: "my-cluster",
  NodeType: "db.t3.medium",
  NumShards: 2,
  NumReplicasPerShard: 1,
  Port: 6379,
  TLSEnabled: true,
  Tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Project", Value: "MemoryDBDemo" }
  ]
});

Advanced Configuration ​

Configure a MemoryDB cluster with more advanced settings including parameter groups and snapshot options.

ts
const advancedMemoryDBCluster = await AWS.MemoryDB.Cluster("advancedMemoryDBCluster", {
  ACLName: "myACL",
  ClusterName: "advanced-cluster",
  NodeType: "db.r5.large",
  NumShards: 3,
  NumReplicasPerShard: 2,
  Port: 6379,
  TLSEnabled: true,
  ParameterGroupName: "default.memorydb5.0",
  FinalSnapshotName: "finalSnapshotBeforeDeletion",
  SnapshotRetentionLimit: 7,
  MaintenanceWindow: "sun:23:00-sun:23:30"
});

Cluster with Snapshot ​

Create a MemoryDB cluster that uses snapshots for backup.

ts
const snapshotMemoryDBCluster = await AWS.MemoryDB.Cluster("snapshotMemoryDBCluster", {
  ACLName: "myACL",
  ClusterName: "snapshot-cluster",
  NodeType: "db.t3.medium",
  NumShards: 2,
  Port: 6379,
  SnapshotName: "initialSnapshot",
  SnapshotWindow: "03:00-04:00",
  SnapshotRetentionLimit: 5
});

Multi-Region Cluster ​

Set up a multi-region MemoryDB cluster.

ts
const multiRegionMemoryDBCluster = await AWS.MemoryDB.Cluster("multiRegionMemoryDBCluster", {
  ACLName: "myACL",
  ClusterName: "multi-region-cluster",
  NodeType: "db.r5.large",
  NumShards: 3,
  NumReplicasPerShard: 1,
  Port: 6379,
  TLSEnabled: true,
  MultiRegionClusterName: "myGlobalCluster"
});