MemoryDB
Amazon MemoryDB (memorydb) on fakecloud: full 45-operation control plane for Redis/Valkey clusters, shards, ACLs, users, parameter and subnet groups, snapshots, and multi-region clusters, with persistence.
fakecloud implements Amazon MemoryDB (memorydb), the Redis/Valkey-compatible in-memory database service. All 45 operations from the AWS Smithy model ship now, backed by state partitioned by account and region that persists across restarts in persistent mode. Every resource is regional except multi-region clusters, which are account-wide and visible from every region.
Supported features
- Clusters (
CreateCluster,DescribeClusters,UpdateCluster,DeleteCluster,BatchUpdateCluster,FailoverShard). Clusters are created with the requested shard/replica topology and transitioncreating->availableon describe.NumShards(1-500) andNumReplicasPerShard(0-5) are validated against the model bounds. - Access control (
CreateACL,DescribeACLs,UpdateACL,DeleteACL,CreateUser,DescribeUsers,UpdateUser,DeleteUser). A defaultopen-accessACL anddefaultuser (and thedefault.memorydb-*parameter groups) exist in every region of every account with that region's ARNs, matching AWS. - Parameter and subnet groups (
CreateParameterGroup,DescribeParameterGroups,DescribeParameters,UpdateParameterGroup,ResetParameterGroup,DeleteParameterGroup,CreateSubnetGroup,DescribeSubnetGroups,UpdateSubnetGroup,DeleteSubnetGroup). Subnet groups resolve their subnets in EC2 and report the subnets'VpcIdand Availability Zones (InvalidSubnetfor unknown subnets or ones spanning VPCs). - Snapshots (
CreateSnapshot,CopySnapshot,DescribeSnapshots,DeleteSnapshot) capture cluster configuration. - Multi-region clusters (
CreateMultiRegionCluster,DescribeMultiRegionClusters,UpdateMultiRegionCluster,DeleteMultiRegionCluster,ListAllowedMultiRegionClusterUpdates,DescribeMultiRegionParameterGroups,DescribeMultiRegionParameters). - Reserved nodes (
DescribeReservedNodes,DescribeReservedNodesOfferings,PurchaseReservedNodesOffering). - Node-type updates (
ListAllowedNodeTypeUpdates). - Discovery, tagging, and events (
DescribeEngineVersions,DescribeServiceUpdates,DescribeEvents,ListTags,TagResource,UntagResource).
100% conformance: all 1,201 generated Smithy probe variants pass.
Control plane vs data plane
MemoryDB ships as a full control plane today: every resource is real, validated, partitioned by account and region, and persisted. The Redis/Valkey data-plane container backing (a real engine you can SET/GET against, as ElastiCache already provides) is a roadmap item, mirroring how Aurora DSQL shipped its control plane first.
Example
import boto3
mdb = boto3.client("memorydb", endpoint_url="http://localhost:4566")
mdb.create_cluster(
ClusterName="app-cache",
NodeType="db.r6g.large",
ACLName="open-access",
NumShards=2,
NumReplicasPerShard=1,
)
cluster = mdb.describe_clusters(ClusterName="app-cache")["Clusters"][0]
print(cluster["Status"], cluster["NumberOfShards"])