Skip to content
GitHubXDiscord

Cluster

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

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

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

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

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

Create a MemoryDB cluster that uses snapshots for backup.

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

Set up a multi-region MemoryDB cluster.

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