ElastiCache examples using Amazon CLI - Amazon Command Line Interface
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

This documentation is for Version 1 of the Amazon CLI only. For documentation related to Version 2 of the Amazon CLI, see the Version 2 User Guide.

ElastiCache examples using Amazon CLI

The following code examples show you how to perform actions and implement common scenarios by using the Amazon Command Line Interface with ElastiCache.

Actions are code excerpts from larger programs and must be run in context. While actions show you how to call individual service functions, you can see actions in context in their related scenarios.

Each example includes a link to the complete source code, where you can find instructions on how to set up and run the code in context.

Topics

Actions

The following code example shows how to use add-tags-to-resource.

Amazon CLI

To add tags to a resource

The following add-tags-to-resource example adds up to 10 tags, key-value pairs, to a cluster or snapshot resource.

aws elasticache add-tags-to-resource \ --resource-name "arn:aws:elasticache:us-east-1:1234567890:cluster:my-mem-cluster" \ --tags '{"20150202":15, "ElastiCache":"Service"}'

Output:

{ "TagList": [ { "Value": "20150202", "Key": "APIVersion" }, { "Value": "ElastiCache", "Key": "Service" } ] }

For more information, see Monitoring Costs with Cost Allocation Tags in the Elasticache User Guide.

The following code example shows how to use authorize-cache-security-group-ingress.

Amazon CLI

To authorize cache security group for ingress

The following authorize-cache-security-group-ingress example allows network ingress to a cache security group.

aws elasticache authorize-cache-security-group-ingress \ --cache-security-group-name "my-sec-grp" \ --ec2-security-group-name "my-ec2-sec-grp" \ --ec2-security-group-owner-id "1234567890"

The command produces no output.

For more information, see Self-Service Updates in Amazon ElastiCache in the Elasticache User Guide.

The following code example shows how to use batch-apply-update-action.

Amazon CLI

To apply a service update

The following batch-apply-update-action example applies a service update to a Redis cluster.

aws elasticache batch-apply-update-action \ --service-update-name elc-xxxxx406-xxx \ --replication-group-ids test-cluster

Output:

{ "ProcessedUpdateActions": [ { "ReplicationGroupId": "pat-cluster", "ServiceUpdateName": "elc-xxxxx406-xxx", "UpdateActionStatus": "waiting-to-start" } ], "UnprocessedUpdateActions": [] }

For more information, see Self-Service Updates in Amazon ElastiCache in the Elasticache User Guide.

The following code example shows how to use batch-stop-update-action.

Amazon CLI

To stop a service update

The following batch-stop-update-action example applies a service update to a Redis cluster.

aws elasticache batch-stop-update-action \ --service-update-name elc-xxxxx406-xxx \ --replication-group-ids test-cluster

Output:

{ "ProcessedUpdateActions": [ { "ReplicationGroupId": "pat-cluster", "ServiceUpdateName": "elc-xxxxx406-xxx", "UpdateActionStatus": "stopping" } ], "UnprocessedUpdateActions": [] }

For more information, see Self-Service Updates in Amazon ElastiCache in the Elasticache User Guide.

The following code example shows how to use copy-snapshot.

Amazon CLI

To copy a snapshot

The following copy-snapshot example makes a copy of an existing snapshot.

aws elasticache copy-snapshot \ --source-snapshot-name "my-snapshot" \ --target-snapshot-name "my-snapshot-copy"

Output:

{ "Snapshot":{ "Engine": "redis", "CacheParameterGroupName": "default.redis3.2", "VpcId": "vpc-3820329f3", "CacheClusterId": "my-redis4", "SnapshotRetentionLimit": 7, "NumCacheNodes": 1, "SnapshotName": "my-snapshot-copy", "CacheClusterCreateTime": "2016-12-21T22:24:04.955Z", "AutoMinorVersionUpgrade": true, "PreferredAvailabilityZone": "us-east-1c", "SnapshotStatus": "creating", "SnapshotSource": "manual", "SnapshotWindow": "07:00-08:00", "EngineVersion": "3.2.4", "NodeSnapshots": [ { "CacheSize": "3 MB", "SnapshotCreateTime": "2016-12-28T07:00:52Z", "CacheNodeId": "0001", "CacheNodeCreateTime": "2016-12-21T22:24:04.955Z" } ], "CacheSubnetGroupName": "default", "Port": 6379, "PreferredMaintenanceWindow": "tue:09:30-tue:10:30", "CacheNodeType": "cache.m3.large" } }

For more information, see Exporting a Backup in the Elasticache User Guide.

  • For API details, see CopySnapshot in Amazon CLI Command Reference.

The following code example shows how to use create-cache-cluster.

Amazon CLI

To create a cache cluster

The following create-cache-cluster example creates a cache cluster using the Redis engine.

aws elasticache create-cache-cluster \ --cache-cluster-id "cluster-test" \ --engine redis \ --cache-node-type cache.m5.large \ --num-cache-nodes 1

Output:

{ "CacheCluster": { "CacheClusterId": "cluster-test", "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheNodeType": "cache.m5.large", "Engine": "redis", "EngineVersion": "5.0.5", "CacheClusterStatus": "creating", "NumCacheNodes": 1, "PreferredMaintenanceWindow": "sat:13:00-sat:14:00", "PendingModifiedValues": {}, "CacheSecurityGroups": [], "CacheParameterGroup": { "CacheParameterGroupName": "default.redis5.0", "ParameterApplyStatus": "in-sync", "CacheNodeIdsToReboot": [] }, "CacheSubnetGroupName": "default", "AutoMinorVersionUpgrade": true, "SnapshotRetentionLimit": 0, "SnapshotWindow": "06:30-07:30", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Creating a Cluster in the Elasticache User Guide.

The following code example shows how to use create-cache-parameter-group.

Amazon CLI

To create a cache parameter group

The following create-cache-parameter-group example creates a new Amazon ElastiCache cache parameter group.

aws elasticache create-cache-parameter-group \ --cache-parameter-group-family "redis5.0" \ --cache-parameter-group-name "mygroup" \ --description "mygroup"

Output:

{ "CacheParameterGroup": { "CacheParameterGroupName": "mygroup", "CacheParameterGroupFamily": "redis5.0", "Description": "my group" } }

For more information, see Creating a Parameter Group in the Elasticache User Guide.

The following code example shows how to use create-cache-subnet-group.

Amazon CLI

To create a cache subnet group

The following create-cache-subnet-group example creates a new cache subnet group.

aws elasticache create-cache-subnet-group \ --cache-subnet-group-name "mygroup" \ --cache-subnet-group-description "my subnet group" \ --subnet-ids "subnet-xxxxec4f"

Output:

{ "CacheSubnetGroup": { "CacheSubnetGroupName": "mygroup", "CacheSubnetGroupDescription": "my subnet group", "VpcId": "vpc-a3e97cdb", "Subnets": [ { "SubnetIdentifier": "subnet-xxxxec4f", "SubnetAvailabilityZone": { "Name": "us-west-2d" } } ] } }

For more information, see Creating a Cache Subnet Group in the Elasticache User Guide.

The following code example shows how to use create-global-replication-group.

Amazon CLI

To create a global replication group

The following create-global-replication-group example creates a new global replication group.

aws elasticache create-global-replication-group \ --global-replication-group-id-suffix my-global-replication-group \ --primary-replication-group-id my-primary-cluster

Output:

{ "GlobalReplicationGroup": { "GlobalReplicationGroupId": "sgaui-my-global-replication-group", "GlobalReplicationGroupDescription": " ", "Status": "creating", "CacheNodeType": "cache.r5.large", "Engine": "redis", "EngineVersion": "5.0.6", "Members": [ { "ReplicationGroupId": "my-primary-cluster", "ReplicationGroupRegion": "us-west-2", "Role": "PRIMARY", "AutomaticFailover": "enabled", "Status": "associating" } ], "ClusterEnabled": true, "GlobalNodeGroups": [ { "GlobalNodeGroupId": "sgaui-my-global-replication-group-0001", "Slots": "0-16383" } ], "AuthTokenEnabled": false, "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Replication Across Amazon Regions Using Global Datastore in the Elasticache User Guide.

The following code example shows how to use create-replication-group.

Amazon CLI

To create a replication group

The following create-replication-group example creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group. This operation is valid for Redis only.

aws elasticache create-replication-group \ --replication-group-id "mygroup" \ --replication-group-description "my group" \ --engine "redis" \ --cache-node-type "cache.m5.large"

Output:

{ "ReplicationGroup": { "ReplicationGroupId": "mygroup", "Description": "my group", "Status": "creating", "PendingModifiedValues": {}, "MemberClusters": [ "mygroup-001" ], "AutomaticFailover": "disabled", "SnapshotRetentionLimit": 0, "SnapshotWindow": "06:00-07:00", "ClusterEnabled": false, "CacheNodeType": "cache.m5.large", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Creating a Redis Replication Group in the Elasticache User Guide.

The following code example shows how to use create-snapshot.

Amazon CLI

To create a snapshot

The following create-snapshot example creates a snapshot using the Redis engine.

aws elasticache create-snapshot \ --snapshot-name mysnapshot \ --cache-cluster-id cluster-test

Output:

{ "Snapshot": { "SnapshotName": "mysnapshot", "CacheClusterId": "cluster-test", "SnapshotStatus": "creating", "SnapshotSource": "manual", "CacheNodeType": "cache.m5.large", "Engine": "redis", "EngineVersion": "5.0.5", "NumCacheNodes": 1, "PreferredAvailabilityZone": "us-west-2b", "CacheClusterCreateTime": "2020-03-19T03:12:01.483Z", "PreferredMaintenanceWindow": "sat:13:00-sat:14:00", "Port": 6379, "CacheParameterGroupName": "default.redis5.0", "CacheSubnetGroupName": "default", "VpcId": "vpc-a3e97cdb", "AutoMinorVersionUpgrade": true, "SnapshotRetentionLimit": 0, "SnapshotWindow": "06:30-07:30", "NodeSnapshots": [ { "CacheNodeId": "0001", "CacheSize": "", "CacheNodeCreateTime": "2020-03-19T03:12:01.483Z" } ] } }

For more information, see Backup and Restore for ElastiCache for Redis in the Elasticache User Guide.

  • For API details, see CreateSnapshot in Amazon CLI Command Reference.

The following code example shows how to use create-user-group.

Amazon CLI

To create a user group

The following create-user-group example creates a new user group.

aws elasticache create-user-group \ --user-group-id myusergroup \ --engine redis \ --user-ids default

Output:

{ "UserGroupId": "myusergroup", "Status": "creating", "Engine": "redis", "UserIds": [ "default" ], "ReplicationGroups": [], "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxx52:usergroup:myusergroup" }

For more information, see Authenticating Users with Role-Based Access Control (RBAC) in the Elasticache User Guide.

The following code example shows how to use create-user.

Amazon CLI

To create a user

The following create-user example creates a new user.

aws elasticache create-user \ --user-id user1 \ --user-name myUser \ --passwords mYnuUzrpAxXw2rdzx \ --engine redis \ --access-string "on ~app::* -@all +@read"

Output:

{ "UserId": "user2", "UserName": "myUser", "Status": "active", "Engine": "redis", "AccessString": "on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember", "UserGroupIds": [], "Authentication": { "Type": "password", "PasswordCount": 1 }, "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxx52:user:user2" }

For more information, see Authenticating Users with Role-Based Access Control (RBAC) in the Elasticache User Guide.

  • For API details, see CreateUser in Amazon CLI Command Reference.

The following code example shows how to use decrease-node-groups-in-global-replication-group.

Amazon CLI

To decrease the number of node groups in a global replication group

The following decrease-node-groups-in-global-replication-group decreases the node group count using the Redis engine.

aws elasticache decrease-node-groups-in-global-replication-group \ --global-replication-group-id sgaui-test \ --node-group-count 1 \ --apply-immediately \ --global-node-groups-to-retain sgaui-test-0003

Output:

{ "GlobalReplicationGroup": { "GlobalReplicationGroupId": "sgaui-test", "GlobalReplicationGroupDescription": "test", "Status": "modifying", "CacheNodeType": "cache.r5.large", "Engine": "redis", "EngineVersion": "5.0.6", "Members": [ { "ReplicationGroupId": "test-2", "ReplicationGroupRegion": "us-east-1", "Role": "SECONDARY", "AutomaticFailover": "enabled", "Status": "associated" }, { "ReplicationGroupId": "test-1", "ReplicationGroupRegion": "us-west-2", "Role": "PRIMARY", "AutomaticFailover": "enabled", "Status": "associated" } ], "ClusterEnabled": true, "GlobalNodeGroups": [ { "GlobalNodeGroupId": "sgaui-test-0001", "Slots": "0-449,1816-5461" }, { "GlobalNodeGroupId": "sgaui-test-0002", "Slots": "6827-10922" }, { "GlobalNodeGroupId": "sgaui-test-0003", "Slots": "10923-14052,15418-16383" }, { "GlobalNodeGroupId": "sgaui-test-0004", "Slots": "450-1815,5462-6826,14053-15417" } ], "AuthTokenEnabled": false, "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Replication Across Amazon Regions Using Global Datastore in the Elasticache User Guide.

The following code example shows how to use decrease-replica-count.

Amazon CLI

To decrease replica count

The following decrease-replica-count example dynamically decreases the number of replicas in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This operation is performed with no cluster downtime.

aws elasticache decrease-replica-count \ --replication-group-id my-cluster \ --apply-immediately \ --new-replica-count 2

Output:

{ "ReplicationGroup": { "ReplicationGroupId": "my-cluster", "Description": " ", "Status": "modifying", "PendingModifiedValues": {}, "MemberClusters": [ "myrepliace", "my-cluster-001", "my-cluster-002", "my-cluster-003" ], "NodeGroups": [ { "NodeGroupId": "0001", "Status": "modifying", "PrimaryEndpoint": { "Address": "my-cluster.xxxxx.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "ReaderEndpoint": { "Address": "my-cluster-ro.xxxxx.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "NodeGroupMembers": [ { "CacheClusterId": "myrepliace", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "myrepliace.xxxxx.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "replica" }, { "CacheClusterId": "my-cluster-001", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "my-cluster-001.xxxxx.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "primary" }, { "CacheClusterId": "my-cluster-002", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "my-cluster-002.xxxxx.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "replica" }, { "CacheClusterId": "my-cluster-003", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "my-cluster-003.xxxxx.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "replica" } ] } ], "AutomaticFailover": "disabled", "SnapshotRetentionLimit": 0, "SnapshotWindow": "07:30-08:30", "ClusterEnabled": false, "CacheNodeType": "cache.r5.xlarge", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Changing the Number of Replicas in the Elasticache User Guide.

The following code example shows how to use delete-cache-cluster.

Amazon CLI

To delete a cache cluster

The following delete-cache-cluster example deletes the specified previously provisioned cluster. The command deletes all associated cache nodes, node endpoints. and the cluster itself. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the cluster; you can't cancel or revert this operation.

This operation is not valid for the following:

Redis (cluster mode enabled) clustersA cluster that is the last read replica of a replication groupA node group (shard) that has Multi-AZ mode enabledA cluster from a Redis (cluster mode enabled) replication groupA cluster that is not in the available state

aws elasticache delete-cache-cluster \ --cache-cluster-id "my-cluster-002"

Output:

{ "CacheCluster": { "CacheClusterId": "my-cluster-002", "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheNodeType": "cache.r5.xlarge", "Engine": "redis", "EngineVersion": "5.0.5", "CacheClusterStatus": "deleting", "NumCacheNodes": 1, "PreferredAvailabilityZone": "us-west-2a", "CacheClusterCreateTime": "2019-11-26T03:35:04.546Z", "PreferredMaintenanceWindow": "mon:04:05-mon:05:05", "PendingModifiedValues": {}, "NotificationConfiguration": { "TopicArn": "arn:aws:sns:us-west-x:xxxxxxx4152:My_Topic", "TopicStatus": "active" }, "CacheSecurityGroups": [], "CacheParameterGroup": { "CacheParameterGroupName": "mygroup", "ParameterApplyStatus": "in-sync", "CacheNodeIdsToReboot": [] }, "CacheSubnetGroupName": "kxkxk", "AutoMinorVersionUpgrade": true, "SecurityGroups": [ { "SecurityGroupId": "sg-xxxxxxxxxx9836", "Status": "active" }, { "SecurityGroupId": "sg-xxxxxxxxxxxx7b", "Status": "active" } ], "ReplicationGroupId": "my-cluster", "SnapshotRetentionLimit": 0, "SnapshotWindow": "07:30-08:30", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Deleting a Cluster in the Elasticache User Guide.

The following code example shows how to use delete-cache-parameter-group.

Amazon CLI

To delete a cache parameter group

The following delete-cache-parameter-group example deletes the specified cache parameter group. You can't delete a cache parameter group if it's associated with any cache clusters.

aws elasticache delete-cache-parameter-group \ --cache-parameter-group-name myparamgroup

This command produces no output.

For more information, see Deleting a Parameter Group in the Elasticache User Guide.

The following code example shows how to use delete-cache-subnet-group.

Amazon CLI

To delete a cache subnet group

The following delete-cache-subnet-group example deletes the specified cache subnet group. You can't delete a cache subnet group if it's associated with any clusters.

aws elasticache delete-cache-subnet-group \ --cache-subnet-group-name "mygroup"

This command produces no output.

For more information, see Deleting a Subnet Group in the Elasticache User Guide.

The following code example shows how to use delete-global-replication-group.

Amazon CLI

To delete a global replication group

The following delete-global-replication-group example deletes a new global replication group.

aws elasticache delete-global-replication-group \ --global-replication-group-id my-global-replication-group \ --retain-primary-replication-group

Output:

{ "GlobalReplicationGroup": { "GlobalReplicationGroupId": "sgaui-my-grg", "GlobalReplicationGroupDescription": "my-grg", "Status": "deleting", "CacheNodeType": "cache.r5.large", "Engine": "redis", "EngineVersion": "5.0.6", "Members": [ { "ReplicationGroupId": "my-cluster-grg", "ReplicationGroupRegion": "us-west-2", "Role": "PRIMARY", "AutomaticFailover": "enabled", "Status": "associated" } ], "ClusterEnabled": false, "AuthTokenEnabled": false, "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Replication Across Amazon Regions Using Global Datastore in the Elasticache User Guide.

The following code example shows how to use delete-replication-group.

Amazon CLI

To delete a replication group

The following delete-replication-group example deletes an existing replication group. By default, this operation deletes the entire replication group, including the primary/primaries and all of the read replicas. If the replication group has only one primary, you can optionally delete only the read replicas, while retaining the primary by setting RetainPrimaryCluster=true .

When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this operation. Valid for Redis only.

aws elasticache delete-replication-group \ --replication-group-id "mygroup"

Output:

{ "ReplicationGroup": { "ReplicationGroupId": "mygroup", "Description": "my group", "Status": "deleting", "PendingModifiedValues": {}, "AutomaticFailover": "disabled", "SnapshotRetentionLimit": 0, "SnapshotWindow": "06:00-07:00", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

The following code example shows how to use delete-snapshot.

Amazon CLI

To delete a snapshot

The following delete-snapshot example deleted a snapshot using the Redis engine.

aws elasticache delete-snapshot \ --snapshot-name mysnapshot

Output:

{ "Snapshot": { "SnapshotName": "my-cluster-snapshot", "ReplicationGroupId": "mycluster", "ReplicationGroupDescription": "mycluster", "SnapshotStatus": "deleting", "SnapshotSource": "manual", "CacheNodeType": "cache.r5.xlarge", "Engine": "redis", "EngineVersion": "5.0.5", "PreferredMaintenanceWindow": "thu:12:00-thu:13:00", "TopicArn": "arn:aws:sns:us-west-2:xxxxxxxxxxxxx152:My_Topic", "Port": 6379, "CacheParameterGroupName": "default.redis5.0.cluster.on", "CacheSubnetGroupName": "default", "VpcId": "vpc-a3e97cdb", "AutoMinorVersionUpgrade": true, "SnapshotRetentionLimit": 1, "SnapshotWindow": "13:00-14:00", "NumNodeGroups": 4, "AutomaticFailover": "enabled", "NodeSnapshots": [ { "CacheClusterId": "mycluster-0002-003", "NodeGroupId": "0002", "CacheNodeId": "0001", "CacheSize": "6 MB", "CacheNodeCreateTime": "2020-06-18T00:05:44.719000+00:00", "SnapshotCreateTime": "2020-06-25T20:34:30+00:00" }, { "CacheClusterId": "mycluster-0003-003", "NodeGroupId": "0003", "CacheNodeId": "0001", "CacheSize": "6 MB", "CacheNodeCreateTime": "2019-12-05T19:13:15.912000+00:00", "SnapshotCreateTime": "2020-06-25T20:34:30+00:00" }, { "CacheClusterId": "mycluster-0004-002", "NodeGroupId": "0004", "CacheNodeId": "0001", "CacheSize": "6 MB", "CacheNodeCreateTime": "2019-12-09T19:44:34.324000+00:00", "SnapshotCreateTime": "2020-06-25T20:34:30+00:00" }, { "CacheClusterId": "mycluster-0005-003", "NodeGroupId": "0005", "CacheNodeId": "0001", "CacheSize": "6 MB", "CacheNodeCreateTime": "2020-06-18T00:05:44.775000+00:00", "SnapshotCreateTime": "2020-06-25T20:34:30+00:00" } ] } }

For more information, see Backup and Restore for ElastiCache for Redis in the Elasticache User Guide.

  • For API details, see DeleteSnapshot in Amazon CLI Command Reference.

The following code example shows how to use delete-user-group.

Amazon CLI

To delete a user group

The following delete-user-group example deletes a user group.

aws elasticache delete-user-group \ --user-group-id myusergroup

Output:

{ "UserGroupId": "myusergroup", "Status": "deleting", "Engine": "redis", "UserIds": [ "default" ], "ReplicationGroups": [], "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxx52:usergroup:myusergroup" }

For more information, see Authenticating Users with Role-Based Access Control (RBAC) in the Elasticache User Guide.

The following code example shows how to use delete-user.

Amazon CLI

To delete a user

The following delete-user example deletes a user.

aws elasticache delete-user \ --user-id user2

Output:

{ "UserId": "user1", "UserName": "myUser", "Status": "deleting", "Engine": "redis", "AccessString": "on ~* +@all", "UserGroupIds": [ "myusergroup" ], "Authentication": { "Type": "password", "PasswordCount": 1 }, "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxx52:user:user1" }

For more information, see Authenticating Users with Role-Based Access Control (RBAC) in the Elasticache User Guide.

  • For API details, see DeleteUser in Amazon CLI Command Reference.

The following code example shows how to use describe-cache-clusters.

Amazon CLI

To describe a cache cluster

The following describe-cache-clusters example describes a cache cluster.

aws elasticache describe-cache-clusters

Output:

{ "CacheClusters": [ { "CacheClusterId": "my-cluster-003", "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheNodeType": "cache.r5.large", "Engine": "redis", "EngineVersion": "5.0.5", "CacheClusterStatus": "available", "NumCacheNodes": 1, "PreferredAvailabilityZone": "us-west-2a", "CacheClusterCreateTime": "2019-11-26T01:22:52.396Z", "PreferredMaintenanceWindow": "mon:17:30-mon:18:30", "PendingModifiedValues": {}, "NotificationConfiguration": { "TopicArn": "arn:aws:sns:us-west-2:xxxxxxxxxxx152:My_Topic", "TopicStatus": "active" }, "CacheSecurityGroups": [], "CacheParameterGroup": { "CacheParameterGroupName": "default.redis5.0", "ParameterApplyStatus": "in-sync", "CacheNodeIdsToReboot": [] }, "CacheSubnetGroupName": "kxkxk", "AutoMinorVersionUpgrade": true, "SecurityGroups": [ { "SecurityGroupId": "sg-xxxxxd7b", "Status": "active" } ], "ReplicationGroupId": "my-cluster", "SnapshotRetentionLimit": 0, "SnapshotWindow": "06:30-07:30", "AuthTokenEnabled": false, "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false, "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxxx152:cluster:my-cache-cluster", "ReplicationGroupLogDeliveryEnabled": false, "LogDeliveryConfigurations": [ { "LogType": "slow-log", "DestinationType": "cloudwatch-logs", "DestinationDetails": { "CloudWatchLogsDetails": { "LogGroup": "test-log" } }, "LogFormat": "text", "Status": "active" } ] } ] }

For more information, see Managing Clusters in the Elasticache User Guide.

The following code example shows how to use describe-cache-engine-versions.

Amazon CLI

To describe a cache engine version

The following describe-cache-engine-versions example returns a list of the available cache engines and their versions.

aws elasticache describe-cache-engine-versions \ --engine "Redis"

Output:

{ "CacheEngineVersions": [ { "Engine": "redis", "EngineVersion": "2.6.13", "CacheParameterGroupFamily": "redis2.6", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 2.6.13" }, { "Engine": "redis", "EngineVersion": "2.8.19", "CacheParameterGroupFamily": "redis2.8", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 2.8.19" }, { "Engine": "redis", "EngineVersion": "2.8.21", "CacheParameterGroupFamily": "redis2.8", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 2.8.21" }, { "Engine": "redis", "EngineVersion": "2.8.22", "CacheParameterGroupFamily": "redis2.8", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 2.8.22" }, { "Engine": "redis", "EngineVersion": "2.8.23", "CacheParameterGroupFamily": "redis2.8", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 2.8.23" }, { "Engine": "redis", "EngineVersion": "2.8.24", "CacheParameterGroupFamily": "redis2.8", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 2.8.24" }, { "Engine": "redis", "EngineVersion": "2.8.6", "CacheParameterGroupFamily": "redis2.8", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 2.8.6" }, { "Engine": "redis", "EngineVersion": "3.2.10", "CacheParameterGroupFamily": "redis3.2", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 3.2.10" }, { "Engine": "redis", "EngineVersion": "3.2.4", "CacheParameterGroupFamily": "redis3.2", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 3.2.4" }, { "Engine": "redis", "EngineVersion": "3.2.6", "CacheParameterGroupFamily": "redis3.2", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 3.2.6" }, { "Engine": "redis", "EngineVersion": "4.0.10", "CacheParameterGroupFamily": "redis4.0", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 4.0.10" }, { "Engine": "redis", "EngineVersion": "5.0.0", "CacheParameterGroupFamily": "redis5.0", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 5.0.0" }, { "Engine": "redis", "EngineVersion": "5.0.3", "CacheParameterGroupFamily": "redis5.0", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 5.0.3" }, { "Engine": "redis", "EngineVersion": "5.0.4", "CacheParameterGroupFamily": "redis5.0", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 5.0.4" }, { "Engine": "redis", "EngineVersion": "5.0.5", "CacheParameterGroupFamily": "redis5.0", "CacheEngineDescription": "Redis", "CacheEngineVersionDescription": "redis version 5.0.5" } ] }

The following code example shows how to use describe-cache-parameter-groups.

Amazon CLI

To describe a cache parameter group

The following describe-cache-parameter-groups example returns a list of cache parameter group descriptions.

aws elasticache describe-cache-parameter-groups \ --cache-parameter-group-name "mygroup"

Output:

{ "CacheParameterGroups": [ { "CacheParameterGroupName": "mygroup", "CacheParameterGroupFamily": "redis5.0", "Description": " " } ] }

For more information, see Configuring Engine Parameters Using Parameter Groups in the Elasticache User Guide.

The following code example shows how to use describe-cache-parameters.

Amazon CLI

To describe cache parameters

The following ''describe-cache-parameters'' example returns the detailed parameter list for the specified cache parameter group.

aws elasticache describe-cache-parameters \ --cache-parameter-group-name "myparamgroup"

Output:

{ "Parameters": [ { "ParameterName": "activedefrag", "ParameterValue": "yes", "Description": "Enabled active memory defragmentation", "Source": "user", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-cycle-max", "ParameterValue": "75", "Description": "Maximal effort for defrag in CPU percentage", "Source": "user", "DataType": "integer", "AllowedValues": "1-75", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-cycle-min", "ParameterValue": "5", "Description": "Minimal effort for defrag in CPU percentage", "Source": "user", "DataType": "integer", "AllowedValues": "1-75", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-ignore-bytes", "ParameterValue": "104857600", "Description": "Minimum amount of fragmentation waste to start active defrag", "Source": "user", "DataType": "integer", "AllowedValues": "1048576-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-max-scan-fields", "ParameterValue": "1000", "Description": "Maximum number of set/hash/zset/list fields that will be processed from the main dictionary scan", "Source": "user", "DataType": "integer", "AllowedValues": "1-1000000", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-threshold-lower", "ParameterValue": "10", "Description": "Minimum percentage of fragmentation to start active defrag", "Source": "user", "DataType": "integer", "AllowedValues": "1-100", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-threshold-upper", "ParameterValue": "100", "Description": "Maximum percentage of fragmentation at which we use maximum effort", "Source": "user", "DataType": "integer", "AllowedValues": "1-100", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "activerehashing", "ParameterValue": "yes", "Description": "Apply rehashing or not.", "Source": "user", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "requires-reboot" }, { "ParameterName": "appendfsync", "ParameterValue": "everysec", "Description": "fsync policy for AOF persistence", "Source": "system", "DataType": "string", "AllowedValues": "always,everysec,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "appendonly", "ParameterValue": "no", "Description": "Enable Redis persistence.", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-normal-hard-limit", "ParameterValue": "0", "Description": "Normal client output buffer hard limit in bytes.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-normal-soft-limit", "ParameterValue": "0", "Description": "Normal client output buffer soft limit in bytes.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-normal-soft-seconds", "ParameterValue": "0", "Description": "Normal client output buffer soft limit in seconds.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-pubsub-hard-limit", "ParameterValue": "33554432", "Description": "Pubsub client output buffer hard limit in bytes.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-pubsub-soft-limit", "ParameterValue": "8388608", "Description": "Pubsub client output buffer soft limit in bytes.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-pubsub-soft-seconds", "ParameterValue": "60", "Description": "Pubsub client output buffer soft limit in seconds.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-replica-soft-seconds", "ParameterValue": "60", "Description": "Replica client output buffer soft limit in seconds.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-query-buffer-limit", "ParameterValue": "1073741824", "Description": "Max size of a single client query buffer", "Source": "user", "DataType": "integer", "AllowedValues": "1048576-1073741824", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "close-on-replica-write", "ParameterValue": "yes", "Description": "If enabled, clients who attempt to write to a read-only replica will be disconnected. Applicable to 2.8.23 and higher.", "Source": "user", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "cluster-enabled", "ParameterValue": "no", "Description": "Enable cluster mode", "Source": "user", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "requires-reboot" }, { "ParameterName": "cluster-require-full-coverage", "ParameterValue": "no", "Description": "Whether cluster becomes unavailable if one or more slots are not covered", "Source": "user", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "databases", "ParameterValue": "16", "Description": "Set the number of databases.", "Source": "user", "DataType": "integer", "AllowedValues": "1-1200000", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "requires-reboot" }, { "ParameterName": "hash-max-ziplist-entries", "ParameterValue": "512", "Description": "The maximum number of hash entries in order for the dataset to be compressed.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "hash-max-ziplist-value", "ParameterValue": "64", "Description": "The threshold of biggest hash entries in order for the dataset to be compressed.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "hll-sparse-max-bytes", "ParameterValue": "3000", "Description": "HyperLogLog sparse representation bytes limit", "Source": "user", "DataType": "integer", "AllowedValues": "1-16000", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lazyfree-lazy-eviction", "ParameterValue": "no", "Description": "Perform an asynchronous delete on evictions", "Source": "user", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lazyfree-lazy-expire", "ParameterValue": "no", "Description": "Perform an asynchronous delete on expired keys", "Source": "user", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lazyfree-lazy-server-del", "ParameterValue": "no", "Description": "Perform an asynchronous delete on key updates", "Source": "user", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lfu-decay-time", "ParameterValue": "1", "Description": "The amount of time in minutes to decrement the key counter for LFU eviction policy", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lfu-log-factor", "ParameterValue": "10", "Description": "The log factor for incrementing key counter for LFU eviction policy", "Source": "user", "DataType": "integer", "AllowedValues": "1-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "list-compress-depth", "ParameterValue": "0", "Description": "Number of quicklist ziplist nodes from each side of the list to exclude from compression. The head and tail of the list are always uncompressed for fast push/pop operations", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "list-max-ziplist-size", "ParameterValue": "-2", "Description": "The number of entries allowed per internal list node can be specified as a fixed maximum size or a maximum number of elements", "Source": "system", "DataType": "integer", "AllowedValues": "-5,-4,-3,-2,-1,1-", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lua-replicate-commands", "ParameterValue": "yes", "Description": "Always enable Lua effect replication or not", "Source": "user", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lua-time-limit", "ParameterValue": "5000", "Description": "Max execution time of a Lua script in milliseconds. 0 for unlimited execution without warnings.", "Source": "system", "DataType": "integer", "AllowedValues": "5000", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "maxclients", "ParameterValue": "65000", "Description": "The maximum number of Redis clients.", "Source": "system", "DataType": "integer", "AllowedValues": "1-65000", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "requires-reboot" }, { "ParameterName": "maxmemory-policy", "ParameterValue": "volatile-lru", "Description": "Max memory policy.", "Source": "user", "DataType": "string", "AllowedValues": "volatile-lru,allkeys-lru,volatile-lfu,allkeys-lfu,volatile-random,allkeys-random,volatile-ttl,noeviction", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "maxmemory-samples", "ParameterValue": "3", "Description": "Max memory samples.", "Source": "user", "DataType": "integer", "AllowedValues": "1-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "min-replicas-max-lag", "ParameterValue": "10", "Description": "The maximum amount of replica lag in seconds beyond which the master would stop taking writes. A value of 0 means the master always takes writes.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "min-replicas-to-write", "ParameterValue": "0", "Description": "The minimum number of replicas that must be present with lag no greater than min-replicas-max-lag for master to take writes. Setting this to 0 means the master always takes writes.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "notify-keyspace-events", "Description": "The keyspace events for Redis to notify Pub/Sub clients about. By default all notifications are disabled", "Source": "user", "DataType": "string", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "proto-max-bulk-len", "ParameterValue": "536870912", "Description": "Max size of a single element request", "Source": "user", "DataType": "integer", "AllowedValues": "1048576-536870912", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "rename-commands", "ParameterValue": "", "Description": "Redis commands that can be dynamically renamed by the customer", "Source": "user", "DataType": "string", "AllowedValues": "APPEND,BITCOUNT,BITFIELD,BITOP,BITPOS,BLPOP,BRPOP,BRPOPLPUSH,BZPOPMIN,BZPOPMAX,CLIENT,COMMAND,DBSIZE,DECR,DECRBY,DEL,DISCARD,DUMP,ECHO,EVAL,EVALSHA,EXEC,EXISTS,EXPIRE,EXPIREAT,FLUSHALL,FLUSHDB,GEOADD,GEOHASH,GEOPOS,GEODIST,GEORADIUS,GEORADIUSBYMEMBER,GET,GETBIT,GETRANGE,GETSET,HDEL,HEXISTS,HGET,HGETALL,HINCRBY,HINCRBYFLOAT,HKEYS,HLEN,HMGET,HMSET,HSET,HSETNX,HSTRLEN,HVALS,INCR,INCRBY,INCRBYFLOAT,INFO,KEYS,LASTSAVE,LINDEX,LINSERT,LLEN,LPOP,LPUSH,LPUSHX,LRANGE,LREM,LSET,LTRIM,MEMORY,MGET,MONITOR,MOVE,MSET,MSETNX,MULTI,OBJECT,PERSIST,PEXPIRE,PEXPIREAT,PFADD,PFCOUNT,PFMERGE,PING,PSETEX,PSUBSCRIBE,PUBSUB,PTTL,PUBLISH,PUNSUBSCRIBE,RANDOMKEY,READONLY,READWRITE,RENAME,RENAMENX,RESTORE,ROLE,RPOP,RPOPLPUSH,RPUSH,RPUSHX,SADD,SCARD,SCRIPT,SDIFF,SDIFFSTORE,SELECT,SET,SETBIT,SETEX,SETNX,SETRANGE,SINTER,SINTERSTORE,SISMEMBER,SLOWLOG,SMEMBERS,SMOVE,SORT,SPOP,SRANDMEMBER,SREM,STRLEN,SUBSCRIBE,SUNION,SUNIONSTORE,SWAPDB,TIME,TOUCH,TTL,TYPE,UNSUBSCRIBE,UNLINK,UNWATCH,WAIT,WATCH,ZADD,ZCARD,ZCOUNT,ZINCRBY,ZINTERSTORE,ZLEXCOUNT,ZPOPMAX,ZPOPMIN,ZRANGE,ZRANGEBYLEX,ZREVRANGEBYLEX,ZRANGEBYSCORE,ZRANK,ZREM,ZREMRANGEBYLEX,ZREMRANGEBYRANK,ZREMRANGEBYSCORE,ZREVRANGE,ZREVRANGEBYSCORE,ZREVRANK,ZSCORE,ZUNIONSTORE,SCAN,SSCAN,HSCAN,ZSCAN,XINFO,XADD,XTRIM,XDEL,XRANGE,XREVRANGE,XLEN,XREAD,XGROUP,XREADGROUP,XACK,XCLAIM,XPENDING,GEORADIUS_RO,GEORADIUSBYMEMBER_RO,LOLWUT,XSETID,SUBSTR", "IsModifiable": true, "MinimumEngineVersion": "5.0.3", "ChangeType": "immediate" }, { "ParameterName": "repl-backlog-size", "ParameterValue": "1048576", "Description": "The replication backlog size in bytes for PSYNC. This is the size of the buffer which accumulates slave data when slave is disconnected for some time, so that when slave reconnects again, only transfer the portion of data which the slave missed. Minimum value is 16K.", "Source": "user", "DataType": "integer", "AllowedValues": "16384-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "repl-backlog-ttl", "ParameterValue": "3600", "Description": "The amount of time in seconds after the master no longer have any slaves connected for the master to free the replication backlog. A value of 0 means to never release the backlog.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "replica-allow-chaining", "ParameterValue": "no", "Description": "Configures if chaining of replicas is allowed", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "replica-ignore-maxmemory", "ParameterValue": "yes", "Description": "Determines if replica ignores maxmemory setting by not evicting items independent from the master", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "replica-lazy-flush", "ParameterValue": "no", "Description": "Perform an asynchronous flushDB during replica sync", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "reserved-memory-percent", "ParameterValue": "25", "Description": "The percent of memory reserved for non-cache memory usage. You may want to increase this parameter for nodes with read replicas, AOF enabled, etc, to reduce swap usage.", "Source": "user", "DataType": "integer", "AllowedValues": "0-100", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "set-max-intset-entries", "ParameterValue": "512", "Description": "The limit in the size of the set in order for the dataset to be compressed.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "slowlog-log-slower-than", "ParameterValue": "10000", "Description": "The execution time, in microseconds, to exceed in order for the command to get logged. Note that a negative number disables the slow log, while a value of zero forces the logging of every command.", "Source": "user", "DataType": "integer", "AllowedValues": "-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "slowlog-max-len", "ParameterValue": "128", "Description": "The length of the slow log. There is no limit to this length. Just be aware that it will consume memory. You can reclaim memory used by the slow log with SLOWLOG RESET.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "stream-node-max-bytes", "ParameterValue": "4096", "Description": "The maximum size of a single node in a stream in bytes", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "stream-node-max-entries", "ParameterValue": "100", "Description": "The maximum number of items a single node in a stream can contain", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "tcp-keepalive", "ParameterValue": "300", "Description": "If non-zero, send ACKs every given number of seconds.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "timeout", "ParameterValue": "0", "Description": "Close connection if client is idle for a given number of seconds, or never if 0.", "Source": "user", "DataType": "integer", "AllowedValues": "0,20-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "zset-max-ziplist-entries", "ParameterValue": "128", "Description": "The maximum number of sorted set entries in order for the dataset to be compressed.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "zset-max-ziplist-value", "ParameterValue": "64", "Description": "The threshold of biggest sorted set entries in order for the dataset to be compressed.", "Source": "user", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" } ] }

For more information, see Parameter Management in the Elasticache User Guide.

The following code example shows how to use describe-cache-subnet-groups.

Amazon CLI

To describe cache subnet groups

The following describe-cache-subnet-groups example returns a list of subnet groups.

aws elasticache describe-cache-subnet-groups

Output:

{ "CacheSubnetGroups": [ { "CacheSubnetGroupName": "default", "CacheSubnetGroupDescription": "Default CacheSubnetGroup", "VpcId": "vpc-a3e97cdb", "Subnets": [ { "SubnetIdentifier": "subnet-8d4bacf5", "SubnetAvailabilityZone": { "Name": "us-west-2b" } }, { "SubnetIdentifier": "subnet-dde21380", "SubnetAvailabilityZone": { "Name": "us-west-2c" } }, { "SubnetIdentifier": "subnet-6485ec4f", "SubnetAvailabilityZone": { "Name": "us-west-2d" } }, { "SubnetIdentifier": "subnet-b4ebebff", "SubnetAvailabilityZone": { "Name": "us-west-2a" } } ] }, { "CacheSubnetGroupName": "kxkxk", "CacheSubnetGroupDescription": "mygroup", "VpcId": "vpc-a3e97cdb", "Subnets": [ { "SubnetIdentifier": "subnet-b4ebebff", "SubnetAvailabilityZone": { "Name": "us-west-2a" } } ] }, { "CacheSubnetGroupName": "test", "CacheSubnetGroupDescription": "test", "VpcId": "vpc-a3e97cdb", "Subnets": [ { "SubnetIdentifier": "subnet-b4ebebff", "SubnetAvailabilityZone": { "Name": "us-west-2a" } } ] } ] }

For more information, see Subnets and Subnet Groups in the Elasticache User Guide or Subnets and Subnet Groups in the ElastiCache for Memcached User Guide.

The following code example shows how to use describe-engine-default-parameters.

Amazon CLI

To describe engine default parameters

The following describe-engine-default-parameters example returns the default engine and system parameter information for the specified cache engine.

aws elasticache describe-engine-default-parameters \ --cache-parameter-group-family "redis5.0"

Output:

{ "EngineDefaults": { "Parameters": [ { "ParameterName": "activedefrag", "ParameterValue": "no", "Description": "Enabled active memory defragmentation", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-cycle-max", "ParameterValue": "75", "Description": "Maximal effort for defrag in CPU percentage", "Source": "system", "DataType": "integer", "AllowedValues": "1-75", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-cycle-min", "ParameterValue": "5", "Description": "Minimal effort for defrag in CPU percentage", "Source": "system", "DataType": "integer", "AllowedValues": "1-75", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-ignore-bytes", "ParameterValue": "104857600", "Description": "Minimum amount of fragmentation waste to start active defrag", "Source": "system", "DataType": "integer", "AllowedValues": "1048576-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-max-scan-fields", "ParameterValue": "1000", "Description": "Maximum number of set/hash/zset/list fields that will be processed from the main dictionary scan", "Source": "system", "DataType": "integer", "AllowedValues": "1-1000000", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-threshold-lower", "ParameterValue": "10", "Description": "Minimum percentage of fragmentation to start active defrag", "Source": "system", "DataType": "integer", "AllowedValues": "1-100", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "active-defrag-threshold-upper", "ParameterValue": "100", "Description": "Maximum percentage of fragmentation at which we use maximum effort", "Source": "system", "DataType": "integer", "AllowedValues": "1-100", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "activerehashing", "ParameterValue": "yes", "Description": "Apply rehashing or not.", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "requires-reboot" }, { "ParameterName": "appendfsync", "ParameterValue": "everysec", "Description": "fsync policy for AOF persistence", "Source": "system", "DataType": "string", "AllowedValues": "always,everysec,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "appendonly", "ParameterValue": "no", "Description": "Enable Redis persistence.", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-normal-hard-limit", "ParameterValue": "0", "Description": "Normal client output buffer hard limit in bytes.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-normal-soft-limit", "ParameterValue": "0", "Description": "Normal client output buffer soft limit in bytes.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-normal-soft-seconds", "ParameterValue": "0", "Description": "Normal client output buffer soft limit in seconds.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-pubsub-hard-limit", "ParameterValue": "33554432", "Description": "Pubsub client output buffer hard limit in bytes.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-pubsub-soft-limit", "ParameterValue": "8388608", "Description": "Pubsub client output buffer soft limit in bytes.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-pubsub-soft-seconds", "ParameterValue": "60", "Description": "Pubsub client output buffer soft limit in seconds.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-output-buffer-limit-replica-soft-seconds", "ParameterValue": "60", "Description": "Replica client output buffer soft limit in seconds.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "client-query-buffer-limit", "ParameterValue": "1073741824", "Description": "Max size of a single client query buffer", "Source": "system", "DataType": "integer", "AllowedValues": "1048576-1073741824", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "close-on-replica-write", "ParameterValue": "yes", "Description": "If enabled, clients who attempt to write to a read-only replica will be disconnected. Applicable to 2.8.23 and higher.", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "cluster-enabled", "ParameterValue": "no", "Description": "Enable cluster mode", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "requires-reboot" }, { "ParameterName": "cluster-require-full-coverage", "ParameterValue": "no", "Description": "Whether cluster becomes unavailable if one or more slots are not covered", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "databases", "ParameterValue": "16", "Description": "Set the number of databases.", "Source": "system", "DataType": "integer", "AllowedValues": "1-1200000", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "requires-reboot" }, { "ParameterName": "hash-max-ziplist-entries", "ParameterValue": "512", "Description": "The maximum number of hash entries in order for the dataset to be compressed.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "hash-max-ziplist-value", "ParameterValue": "64", "Description": "The threshold of biggest hash entries in order for the dataset to be compressed.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "hll-sparse-max-bytes", "ParameterValue": "3000", "Description": "HyperLogLog sparse representation bytes limit", "Source": "system", "DataType": "integer", "AllowedValues": "1-16000", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lazyfree-lazy-eviction", "ParameterValue": "no", "Description": "Perform an asynchronous delete on evictions", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lazyfree-lazy-expire", "ParameterValue": "no", "Description": "Perform an asynchronous delete on expired keys", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lazyfree-lazy-server-del", "ParameterValue": "no", "Description": "Perform an asynchronous delete on key updates", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lfu-decay-time", "ParameterValue": "1", "Description": "The amount of time in minutes to decrement the key counter for LFU eviction policy", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lfu-log-factor", "ParameterValue": "10", "Description": "The log factor for incrementing key counter for LFU eviction policy", "Source": "system", "DataType": "integer", "AllowedValues": "1-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "list-compress-depth", "ParameterValue": "0", "Description": "Number of quicklist ziplist nodes from each side of the list to exclude from compression. The head and tail of the list are always uncompressed for fast push/pop operations", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "list-max-ziplist-size", "ParameterValue": "-2", "Description": "The number of entries allowed per internal list node can be specified as a fixed maximum size or a maximum number of elements", "Source": "system", "DataType": "integer", "AllowedValues": "-5,-4,-3,-2,-1,1-", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lua-replicate-commands", "ParameterValue": "yes", "Description": "Always enable Lua effect replication or not", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "lua-time-limit", "ParameterValue": "5000", "Description": "Max execution time of a Lua script in milliseconds. 0 for unlimited execution without warnings.", "Source": "system", "DataType": "integer", "AllowedValues": "5000", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "maxclients", "ParameterValue": "65000", "Description": "The maximum number of Redis clients.", "Source": "system", "DataType": "integer", "AllowedValues": "1-65000", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "requires-reboot" }, { "ParameterName": "maxmemory-policy", "ParameterValue": "volatile-lru", "Description": "Max memory policy.", "Source": "system", "DataType": "string", "AllowedValues": "volatile-lru,allkeys-lru,volatile-lfu,allkeys-lfu,volatile-random,allkeys-random,volatile-ttl,noeviction", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "maxmemory-samples", "ParameterValue": "3", "Description": "Max memory samples.", "Source": "system", "DataType": "integer", "AllowedValues": "1-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "min-replicas-max-lag", "ParameterValue": "10", "Description": "The maximum amount of replica lag in seconds beyond which the master would stop taking writes. A value of 0 means the master always takes writes.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "min-replicas-to-write", "ParameterValue": "0", "Description": "The minimum number of replicas that must be present with lag no greater than min-replicas-max-lag for master to take writes. Setting this to 0 means the master always takes writes.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "notify-keyspace-events", "Description": "The keyspace events for Redis to notify Pub/Sub clients about. By default all notifications are disabled", "Source": "system", "DataType": "string", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "proto-max-bulk-len", "ParameterValue": "536870912", "Description": "Max size of a single element request", "Source": "system", "DataType": "integer", "AllowedValues": "1048576-536870912", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "rename-commands", "ParameterValue": "", "Description": "Redis commands that can be dynamically renamed by the customer", "Source": "system", "DataType": "string", "AllowedValues": "APPEND,BITCOUNT,BITFIELD,BITOP,BITPOS,BLPOP,BRPOP,BRPOPLPUSH,BZPOPMIN,BZPOPMAX,CLIENT,COMMAND,DBSIZE,DECR,DECRBY,DEL,DISCARD,DUMP,ECHO,EVAL,EVALSHA,EXEC,EXISTS,EXPIRE,EXPIREAT,FLUSHALL,FLUSHDB,GEOADD,GEOHASH,GEOPOS,GEODIST,GEORADIUS,GEORADIUSBYMEMBER,GET,GETBIT,GETRANGE,GETSET,HDEL,HEXISTS,HGET,HGETALL,HINCRBY,HINCRBYFLOAT,HKEYS,HLEN,HMGET,HMSET,HSET,HSETNX,HSTRLEN,HVALS,INCR,INCRBY,INCRBYFLOAT,INFO,KEYS,LASTSAVE,LINDEX,LINSERT,LLEN,LPOP,LPUSH,LPUSHX,LRANGE,LREM,LSET,LTRIM,MEMORY,MGET,MONITOR,MOVE,MSET,MSETNX,MULTI,OBJECT,PERSIST,PEXPIRE,PEXPIREAT,PFADD,PFCOUNT,PFMERGE,PING,PSETEX,PSUBSCRIBE,PUBSUB,PTTL,PUBLISH,PUNSUBSCRIBE,RANDOMKEY,READONLY,READWRITE,RENAME,RENAMENX,RESTORE,ROLE,RPOP,RPOPLPUSH,RPUSH,RPUSHX,SADD,SCARD,SCRIPT,SDIFF,SDIFFSTORE,SELECT,SET,SETBIT,SETEX,SETNX,SETRANGE,SINTER,SINTERSTORE,SISMEMBER,SLOWLOG,SMEMBERS,SMOVE,SORT,SPOP,SRANDMEMBER,SREM,STRLEN,SUBSCRIBE,SUNION,SUNIONSTORE,SWAPDB,TIME,TOUCH,TTL,TYPE,UNSUBSCRIBE,UNLINK,UNWATCH,WAIT,WATCH,ZADD,ZCARD,ZCOUNT,ZINCRBY,ZINTERSTORE,ZLEXCOUNT,ZPOPMAX,ZPOPMIN,ZRANGE,ZRANGEBYLEX,ZREVRANGEBYLEX,ZRANGEBYSCORE,ZRANK,ZREM,ZREMRANGEBYLEX,ZREMRANGEBYRANK,ZREMRANGEBYSCORE,ZREVRANGE,ZREVRANGEBYSCORE,ZREVRANK,ZSCORE,ZUNIONSTORE,SCAN,SSCAN,HSCAN,ZSCAN,XINFO,XADD,XTRIM,XDEL,XRANGE,XREVRANGE,XLEN,XREAD,XGROUP,XREADGROUP,XACK,XCLAIM,XPENDING,GEORADIUS_RO,GEORADIUSBYMEMBER_RO,LOLWUT,XSETID,SUBSTR", "IsModifiable": true, "MinimumEngineVersion": "5.0.3", "ChangeType": "immediate" }, { "ParameterName": "repl-backlog-size", "ParameterValue": "1048576", "Description": "The replication backlog size in bytes for PSYNC. This is the size of the buffer which accumulates slave data when slave is disconnected for some time, so that when slave reconnects again, only transfer the portion of data which the slave missed. Minimum value is 16K.", "Source": "system", "DataType": "integer", "AllowedValues": "16384-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "repl-backlog-ttl", "ParameterValue": "3600", "Description": "The amount of time in seconds after the master no longer have any slaves connected for the master to free the replication backlog. A value of 0 means to never release the backlog.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "replica-allow-chaining", "ParameterValue": "no", "Description": "Configures if chaining of replicas is allowed", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "replica-ignore-maxmemory", "ParameterValue": "yes", "Description": "Determines if replica ignores maxmemory setting by not evicting items independent from the master", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "replica-lazy-flush", "ParameterValue": "no", "Description": "Perform an asynchronous flushDB during replica sync", "Source": "system", "DataType": "string", "AllowedValues": "yes,no", "IsModifiable": false, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "reserved-memory-percent", "ParameterValue": "25", "Description": "The percent of memory reserved for non-cache memory usage. You may want to increase this parameter for nodes with read replicas, AOF enabled, etc, to reduce swap usage.", "Source": "system", "DataType": "integer", "AllowedValues": "0-100", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "set-max-intset-entries", "ParameterValue": "512", "Description": "The limit in the size of the set in order for the dataset to be compressed.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "slowlog-log-slower-than", "ParameterValue": "10000", "Description": "The execution time, in microseconds, to exceed in order for the command to get logged. Note that a negative number disables the slow log, while a value of zero forces the logging of every command.", "Source": "system", "DataType": "integer", "AllowedValues": "-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "slowlog-max-len", "ParameterValue": "128", "Description": "The length of the slow log. There is no limit to this length. Just be aware that it will consume memory. You can reclaim memory used by the slow log with SLOWLOG RESET.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "stream-node-max-bytes", "ParameterValue": "4096", "Description": "The maximum size of a single node in a stream in bytes", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "stream-node-max-entries", "ParameterValue": "100", "Description": "The maximum number of items a single node in a stream can contain", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "tcp-keepalive", "ParameterValue": "300", "Description": "If non-zero, send ACKs every given number of seconds.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "timeout", "ParameterValue": "0", "Description": "Close connection if client is idle for a given number of seconds, or never if 0.", "Source": "system", "DataType": "integer", "AllowedValues": "0,20-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "zset-max-ziplist-entries", "ParameterValue": "128", "Description": "The maximum number of sorted set entries in order for the dataset to be compressed.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" }, { "ParameterName": "zset-max-ziplist-value", "ParameterValue": "64", "Description": "The threshold of biggest sorted set entries in order for the dataset to be compressed.", "Source": "system", "DataType": "integer", "AllowedValues": "0-", "IsModifiable": true, "MinimumEngineVersion": "5.0.0", "ChangeType": "immediate" } ] } }

The following code example shows how to use describe-events.

Amazon CLI

To describe events of a replication group

The following describe-events example returns a list of events for a replication group.

aws elasticache describe-events \ --source-identifier test-cluster \ --source-type replication-group

Output:

{ "Events": [ { "SourceIdentifier": "test-cluster", "SourceType": "replication-group", "Message": "Automatic failover has been turned on for replication group test-cluster", "Date": "2020-03-18T23:51:34.457Z" }, { "SourceIdentifier": "test-cluster", "SourceType": "replication-group", "Message": "Replication group test-cluster created", "Date": "2020-03-18T23:50:31.378Z" } ] }

For more information, see Monitoring Events in the Elasticache User Guide.

  • For API details, see DescribeEvents in Amazon CLI Command Reference.

The following code example shows how to use describe-global-replication-groups.

Amazon CLI

To describe global replication groups

The following describe-global-replication-groups example returns details of a Global datastore.

aws elasticache describe-global-replication-groups \ --global-replication-group-id my-grg

Output:

{ "GlobalReplicationGroups": [ { "GlobalReplicationGroupId": "my-grg", "GlobalReplicationGroupDescription": "my-grg", "Status": "creating", "CacheNodeType": "cache.r5.large", "Engine": "redis", "EngineVersion": "5.0.6", "ClusterEnabled": false, "AuthTokenEnabled": false, "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } ] }

For more information, see Replication Across Amazon Regions Using Global Datastore in the Elasticache User Guide.

The following code example shows how to use describe-replication-groups.

Amazon CLI

To return a list of replication group details

The following describe-replication-groups example returns the replication groups.

aws elasticache describe-replication-groups

Output:

{ "ReplicationGroups": [ { "ReplicationGroupId": "my-cluster", "Description": "mycluster", "Status": "available", "PendingModifiedValues": {}, "MemberClusters": [ "pat-cluster-001", "pat-cluster-002", "pat-cluster-003", "pat-cluster-004" ], "NodeGroups": [ { "NodeGroupId": "0001", "Status": "available", "PrimaryEndpoint": { "Address": "my-cluster.xxxxih.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "ReaderEndpoint": { "Address": "my-cluster-ro.xxxxih.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "NodeGroupMembers": [ { "CacheClusterId": "my-cluster-001", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "pat-cluster-001.xxxih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "primary" }, { "CacheClusterId": "my-cluster-002", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "pat-cluster-002.xxxxih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "replica" }, { "CacheClusterId": "my-cluster-003", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "pat-cluster-003.xxxxih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "replica" }, { "CacheClusterId": "my-cluster-004", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "pat-cluster-004.xxxih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "replica" } ] } ], "AutomaticFailover": "disabled", "SnapshotRetentionLimit": 0, "SnapshotWindow": "07:30-08:30", "ClusterEnabled": false, "CacheNodeType": "cache.r5.xlarge", "AuthTokenEnabled": false, "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false, "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxxx152:replicationgroup:my-cluster", "LogDeliveryConfigurations": [ { "LogType": "slow-log", "DestinationType": "cloudwatch-logs", "DestinationDetails": { "CloudWatchLogsDetails": { "LogGroup": "test-log" } }, "LogFormat": "json", "Status": "active" } ] } ] }

For more information, see Managing Clusters in the Elasticache User Guide.

The following code example shows how to use describe-reserved-cache-nodes-offerings.

Amazon CLI

To describe reserved-cache-nodes-offerings

The following describe-reserved-cache-nodes-offerings example returns details of a reserved-cache-node options.

aws elasticache describe-reserved-cache-nodes-offerings

Output:

{ "ReservedCacheNodesOfferings": [ { "ReservedCacheNodesOfferingId": "01ce0a19-a476-41cb-8aee-48eacbcdc8e5", "CacheNodeType": "cache.t3.small", "Duration": 31536000, "FixedPrice": 97.0, "UsagePrice": 0.0, "ProductDescription": "memcached", "OfferingType": "Partial Upfront", "RecurringCharges": [ { "RecurringChargeAmount": 0.011, "RecurringChargeFrequency": "Hourly" } ] }, { "ReservedCacheNodesOfferingId": "0443a27b-4da5-4b90-b92d-929fbd7abed2", "CacheNodeType": "cache.m3.2xlarge", "Duration": 31536000, "FixedPrice": 1772.0, "UsagePrice": 0.0, "ProductDescription": "redis", "OfferingType": "Heavy Utilization", "RecurringCharges": [ { "RecurringChargeAmount": 0.25, "RecurringChargeFrequency": "Hourly" } ] }, ... ] }

For more information, see Getting Info About Reserved Node Offerings in the Elasticache Redis User Guide or Getting Info About Reserved Node Offerings in the Elasticache Memcached User Guide.

The following code example shows how to use describe-reserved-cache-nodes.

Amazon CLI

To describe reserved cache nodes

The following describe-reserved-cache-nodes example returns information about reserved cache nodes for this account, or about the specified reserved cache node.

aws elasticache describe-reserved-cache-nodes

Output:

{ "ReservedCacheNodes": [ { "ReservedCacheNodeId": "mynode", "ReservedCacheNodesOfferingId": "xxxxxxxxx-xxxxx-xxxxx-xxxx-xxxxxxxx71", "CacheNodeType": "cache.t3.small", "StartTime": "2019-12-06T02:50:44.003Z", "Duration": 31536000, "FixedPrice": 0.0, "UsagePrice": 0.0, "CacheNodeCount": 1, "ProductDescription": "redis", "OfferingType": "No Upfront", "State": "payment-pending", "RecurringCharges": [ { "RecurringChargeAmount": 0.023, "RecurringChargeFrequency": "Hourly" } ], "ReservationARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxxxx52:reserved-instance:mynode" } ] }

For more information, see Managing Costs with Reserved Nodes in the Elasticache User Guide.

The following code example shows how to use describe-service-updates.

Amazon CLI

To describe service updates

The following describe-service-updates example returns details about service updates.

aws elasticache describe-service-updates

Output:

{ "ServiceUpdates": [ { "ServiceUpdateName": "elc-xxxxxxxx7-001", "ServiceUpdateReleaseDate": "2019-10-09T16:00:00Z", "ServiceUpdateEndDate": "2020-02-09T15:59:59Z", "ServiceUpdateSeverity": "important", "ServiceUpdateRecommendedApplyByDate": "2019-11-08T15:59:59Z", "ServiceUpdateStatus": "available", "ServiceUpdateDescription": "Upgrades to improve the security, reliability, and operational performance of your ElastiCache nodes", "ServiceUpdateType": "security-update", "Engine": "redis, memcached", "EngineVersion": "redis 2.6.13 and onwards, memcached 1.4.5 and onwards", "AutoUpdateAfterRecommendedApplyByDate": false, "EstimatedUpdateTime": "30 minutes per node" }, { "ServiceUpdateName": "elc-xxxxxxxx4-001", "ServiceUpdateReleaseDate": "2019-06-11T15:00:00Z", "ServiceUpdateEndDate": "2019-10-01T09:24:00Z", "ServiceUpdateSeverity": "important", "ServiceUpdateRecommendedApplyByDate": "2019-07-11T14:59:59Z", "ServiceUpdateStatus": "expired", "ServiceUpdateDescription": "Upgrades to improve the security, reliability, and operational performance of your ElastiCache nodes", "ServiceUpdateType": "security-update", "Engine": "redis", "EngineVersion": "redis 3.2.6, redis 4.0 and onwards", "AutoUpdateAfterRecommendedApplyByDate": false, "EstimatedUpdateTime": "30 minutes per node" } ] }

The following code example shows how to use describe-snapshots.

Amazon CLI

To describe snapshots

The following ''describe-snapshots'' example returns information about your cluster or replication group snapshots.

aws elasticache describe-snapshots

Output:

{ "Snapshots": [ { "SnapshotName": "automatic.my-cluster2-002-2019-12-05-06-38", "CacheClusterId": "my-cluster2-002", "SnapshotStatus": "available", "SnapshotSource": "automated", "CacheNodeType": "cache.r5.large", "Engine": "redis", "EngineVersion": "5.0.5", "NumCacheNodes": 1, "PreferredAvailabilityZone": "us-west-2a", "CacheClusterCreateTime": "2019-11-26T01:22:52.396Z", "PreferredMaintenanceWindow": "mon:17:30-mon:18:30", "TopicArn": "arn:aws:sns:us-west-2:xxxxxxxxx52:My_Topic", "Port": 6379, "CacheParameterGroupName": "default.redis5.0", "CacheSubnetGroupName": "kxkxk", "VpcId": "vpc-a3e97cdb", "AutoMinorVersionUpgrade": true, "SnapshotRetentionLimit": 1, "SnapshotWindow": "06:30-07:30", "NodeSnapshots": [ { "CacheNodeId": "0001", "CacheSize": "5 MB", "CacheNodeCreateTime": "2019-11-26T01:22:52.396Z", "SnapshotCreateTime": "2019-12-05T06:38:23Z" } ] }, { "SnapshotName": "myreplica-backup", "CacheClusterId": "myreplica", "SnapshotStatus": "available", "SnapshotSource": "manual", "CacheNodeType": "cache.r5.large", "Engine": "redis", "EngineVersion": "5.0.5", "NumCacheNodes": 1, "PreferredAvailabilityZone": "us-west-2a", "CacheClusterCreateTime": "2019-11-26T00:14:52.439Z", "PreferredMaintenanceWindow": "sat:10:00-sat:11:00", "TopicArn": "arn:aws:sns:us-west-2:xxxxxxxxxx152:My_Topic", "Port": 6379, "CacheParameterGroupName": "default.redis5.0", "CacheSubnetGroupName": "kxkxk", "VpcId": "vpc-a3e97cdb", "AutoMinorVersionUpgrade": true, "SnapshotRetentionLimit": 0, "SnapshotWindow": "09:00-10:00", "NodeSnapshots": [ { "CacheNodeId": "0001", "CacheSize": "5 MB", "CacheNodeCreateTime": "2019-11-26T00:14:52.439Z", "SnapshotCreateTime": "2019-11-26T00:25:01Z" } ] }, { "SnapshotName": "my-cluster", "CacheClusterId": "my-cluster-003", "SnapshotStatus": "available", "SnapshotSource": "manual", "CacheNodeType": "cache.r5.large", "Engine": "redis", "EngineVersion": "5.0.5", "NumCacheNodes": 1, "PreferredAvailabilityZone": "us-west-2a", "CacheClusterCreateTime": "2019-11-25T23:56:17.186Z", "PreferredMaintenanceWindow": "sat:10:00-sat:11:00", "TopicArn": "arn:aws:sns:us-west-2:xxxxxxxxxx152:My_Topic", "Port": 6379, "CacheParameterGroupName": "default.redis5.0", "CacheSubnetGroupName": "kxkxk", "VpcId": "vpc-a3e97cdb", "AutoMinorVersionUpgrade": true, "SnapshotRetentionLimit": 0, "SnapshotWindow": "09:00-10:00", "NodeSnapshots": [ { "CacheNodeId": "0001", "CacheSize": "5 MB", "CacheNodeCreateTime": "2019-11-25T23:56:17.186Z", "SnapshotCreateTime": "2019-11-26T03:08:33Z" } ] } ] }

For more information, see Backup and Restore for ElastiCache for Redis in the Elasticache User Guide.

The following code example shows how to use describe-update-actions.

Amazon CLI

To describe update actions

The following describe-update-actions example returns details of update actions.

aws elasticache describe-update-actions

Output:

{ "UpdateActions": [ { "ReplicationGroupId": "mycluster", "ServiceUpdateName": "elc-20191007-001", "ServiceUpdateReleaseDate": "2019-10-09T16:00:00Z", "ServiceUpdateSeverity": "important", "ServiceUpdateStatus": "available", "ServiceUpdateRecommendedApplyByDate": "2019-11-08T15:59:59Z", "ServiceUpdateType": "security-update", "UpdateActionAvailableDate": "2019-12-05T19:15:19.995Z", "UpdateActionStatus": "complete", "NodesUpdated": "9/9", "UpdateActionStatusModifiedDate": "2019-12-05T19:15:20.461Z", "SlaMet": "n/a", "Engine": "redis" }, { "CacheClusterId": "my-memcached-cluster", "ServiceUpdateName": "elc-20191007-001", "ServiceUpdateReleaseDate": "2019-10-09T16:00:00Z", "ServiceUpdateSeverity": "important", "ServiceUpdateStatus": "available", "ServiceUpdateRecommendedApplyByDate": "2019-11-08T15:59:59Z", "ServiceUpdateType": "security-update", "UpdateActionAvailableDate": "2019-12-04T18:26:05.349Z", "UpdateActionStatus": "complete", "NodesUpdated": "1/1", "UpdateActionStatusModifiedDate": "2019-12-04T18:26:05.352Z", "SlaMet": "n/a", "Engine": "redis" }, { "ReplicationGroupId": "my-cluster", "ServiceUpdateName": "elc-20191007-001", "ServiceUpdateReleaseDate": "2019-10-09T16:00:00Z", "ServiceUpdateSeverity": "important", "ServiceUpdateStatus": "available", "ServiceUpdateRecommendedApplyByDate": "2019-11-08T15:59:59Z", "ServiceUpdateType": "security-update", "UpdateActionAvailableDate": "2019-11-26T03:36:26.320Z", "UpdateActionStatus": "complete", "NodesUpdated": "4/4", "UpdateActionStatusModifiedDate": "2019-12-04T22:11:12.664Z", "SlaMet": "n/a", "Engine": "redis" }, { "ReplicationGroupId": "my-cluster2", "ServiceUpdateName": "elc-20191007-001", "ServiceUpdateReleaseDate": "2019-10-09T16:00:00Z", "ServiceUpdateSeverity": "important", "ServiceUpdateStatus": "available", "ServiceUpdateRecommendedApplyByDate": "2019-11-08T15:59:59Z", "ServiceUpdateType": "security-update", "UpdateActionAvailableDate": "2019-11-26T01:26:01.617Z", "UpdateActionStatus": "complete", "NodesUpdated": "3/3", "UpdateActionStatusModifiedDate": "2019-11-26T01:26:01.753Z", "SlaMet": "n/a", "Engine": "redis" } ] }

For more information, see Self-Service Updates in Amazon ElastiCache in the Elasticache User Guide.

The following code example shows how to use describe-user-groups.

Amazon CLI

To describe user-groups

The following describe-user-groups example returns a list of user groups.

aws elasticache describe-user-groups

Output:

{ "UserGroups": [ { "UserGroupId": "myusergroup", "Status": "active", "Engine": "redis", "UserIds": [ "default" ], "ReplicationGroups": [], "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxx52:usergroup:myusergroup" } ] }

For more information, see Authenticating Users with Role-Based Access Control (RBAC) in the Elasticache User Guide.

The following code example shows how to use describe-users.

Amazon CLI

To describe users

The following describe-users example returns a list of users.

aws elasticache describe-users

Output:

{ "Users": [ { "UserId": "default", "UserName": "default", "Status": "active", "Engine": "redis", "AccessString": "on ~* +@all", "UserGroupIds": [ "myusergroup" ], "Authentication": { "Type": "no-password" }, "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxx52:user:default" }, { "UserId": "user1", "UserName": "myUser", "Status": "active", "Engine": "redis", "AccessString": "on ~* +@all", "UserGroupIds": [], "Authentication": { "Type": "password", "PasswordCount": 1 }, "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxx52:user:user1" }, { "UserId": "user2", "UserName": "myUser", "Status": "active", "Engine": "redis", "AccessString": "on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember", "UserGroupIds": [], "Authentication": { "Type": "password", "PasswordCount": 1 }, "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxx52:user:user2" } ] }

For more information, see Authenticating Users with Role-Based Access Control (RBAC) in the Elasticache User Guide.

  • For API details, see DescribeUsers in Amazon CLI Command Reference.

The following code example shows how to use disassociate-global-replication-group.

Amazon CLI

To diassociate a secondary cluster from a global replication group

The following disassociate-global-replication-group example removes a secondary cluster from a Global datastore

aws elasticache disassociate-global-replication-group \ --global-replication-group-id my-grg \ --replication-group-id my-cluster-grg-secondary \ --replication-group-region us-east-1

Output:

{ "GlobalReplicationGroup": { "GlobalReplicationGroupId": "my-grg", "GlobalReplicationGroupDescription": "my-grg", "Status": "modifying", "CacheNodeType": "cache.r5.large", "Engine": "redis", "EngineVersion": "5.0.6", "Members": [ { "ReplicationGroupId": "my-cluster-grg-secondary", "ReplicationGroupRegion": "us-east-1", "Role": "SECONDARY", "AutomaticFailover": "enabled", "Status": "associated" }, { "ReplicationGroupId": "my-cluster-grg", "ReplicationGroupRegion": "us-west-2", "Role": "PRIMARY", "AutomaticFailover": "enabled", "Status": "associated" } ], "ClusterEnabled": false, "AuthTokenEnabled": false, "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Replication Across Amazon Regions Using Global Datastore in the Elasticache User Guide.

The following code example shows how to use increase-node-groups-in-global-replication-group.

Amazon CLI

To increase the number of node groups in a global replication group

The following increase-node-groups-in-global-replication-group increases the node group count using the Redis engine.

aws elasticache increase-node-groups-in-global-replication-group \ --global-replication-group-id sgaui-pat-test-4 \ --node-group-count 6 \ --apply-immediately

Output:

{ "GlobalReplicationGroup": { "GlobalReplicationGroupId": "sgaui-test-4", "GlobalReplicationGroupDescription": "test-4", "Status": "modifying", "CacheNodeType": "cache.r5.large", "Engine": "redis", "EngineVersion": "5.0.6", "Members": [ { "ReplicationGroupId": "my-cluster-b", "ReplicationGroupRegion": "us-east-1", "Role": "SECONDARY", "AutomaticFailover": "enabled", "Status": "associated" }, { "ReplicationGroupId": "my-cluster-a", "ReplicationGroupRegion": "us-west-2", "Role": "PRIMARY", "AutomaticFailover": "enabled", "Status": "associated" } ], "ClusterEnabled": true, "GlobalNodeGroups": [ { "GlobalNodeGroupId": "sgaui-test-4-0001", "Slots": "0-234,2420-5461" }, { "GlobalNodeGroupId": "sgaui-test-4-0002", "Slots": "5462-5904,6997-9830" }, { "GlobalNodeGroupId": "sgaui-test-4-0003", "Slots": "10923-11190,13375-16383" }, { "GlobalNodeGroupId": "sgaui-test-4-0004", "Slots": "235-2419,5905-6996" }, { "GlobalNodeGroupId": "sgaui-test-4-0005", "Slots": "9831-10922,11191-13374" } ], "AuthTokenEnabled": false, "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Replication Across Amazon Regions Using Global Datastore in the Elasticache User Guide.

The following code example shows how to use increase-replica-count.

Amazon CLI

To increase replica count

The following increase-replica-count example does one of two things. It can dynamically increase the number of replicas in a Redis (cluster mode disabled) replication group. Or it can dynamically increase the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This operation is performed with no cluster downtime.

aws elasticache increase-replica-count \ --replication-group-id "my-cluster" \ --apply-immediately \ --new-replica-count 3

Output:

{ "ReplicationGroup": { "ReplicationGroupId": "my-cluster", "Description": " ", "Status": "modifying", "PendingModifiedValues": {}, "MemberClusters": [ "my-cluster-001", "my-cluster-002", "my-cluster-003", "my-cluster-004" ], "NodeGroups": [ { "NodeGroupId": "0001", "Status": "modifying", "PrimaryEndpoint": { "Address": "my-cluster.xxxxxih.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "ReaderEndpoint": { "Address": "my-cluster-ro.xxxxxxih.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "NodeGroupMembers": [ { "CacheClusterId": "my-cluster-001", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "my-cluster-001.xxxxxih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "primary" }, { "CacheClusterId": "my-cluster-003", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "my-cluster-003.xxxxxih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "replica" } ] } ], "AutomaticFailover": "disabled", "SnapshotRetentionLimit": 0, "SnapshotWindow": "07:30-08:30", "ClusterEnabled": false, "CacheNodeType": "cache.r5.xlarge", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Increasing the Number of Replicas in a Shard in the Elasticache User Guide.

The following code example shows how to use list-allowed-node-type-modifications.

Amazon CLI

To list the allowed node modifications

The following list-allowed-node-type-modifications example lists all the available node types that you can scale your Redis cluster's or replication group's current node type to.

aws elasticache list-allowed-node-type-modifications \ --replication-group-id "my-replication-group"

Output:

{ "ScaleUpModifications": [ "cache.m5.12xlarge", "cache.m5.24xlarge", "cache.m5.4xlarge", "cache.r5.12xlarge", "cache.r5.24xlarge", "cache.r5.2xlarge", "cache.r5.4xlarge" ], "ScaleDownModifications": [ "cache.m3.large", "cache.m3.medium", "cache.m3.xlarge", "cache.m4.large", "cache.m4.xlarge", "cache.m5.2xlarge", "cache.m5.large", "cache.m5.xlarge", "cache.r3.large", "cache.r4.large", "cache.r4.xlarge", "cache.r5.large", "cache.t2.medium", "cache.t2.micro", "cache.t2.small", "cache.t3.medium", "cache.t3.micro", "cache.t3.small" ] }

For more information, see Scaling ElastiCache for Redis Clusters in the Elasticache User Guide.

The following code example shows how to use list-tags-for-resource.

Amazon CLI

To list tags for a resource

The following list-tags-for-resource example lists tags for a resource.

aws elasticache list-tags-for-resource \ --resource-name "arn:aws:elasticache:us-east-1:123456789012:cluster:my-cluster"

Output:

{ "TagList": [ { "Key": "Project", "Value": "querySpeedUp" }, { "Key": "Environment", "Value": "PROD" } ] }

For more information, see Listing Tags Using the Amazon CLI in the Elasticache User Guide.

The following code example shows how to use modify-cache-cluster.

Amazon CLI

To modify cache clusters

The following modify-cache-cluster example modifies the settings for the specified cluster.

aws elasticache modify-cache-cluster \ --cache-cluster-id "my-cluster" \ --num-cache-nodes 1

Output:

{ "CacheCluster": { "CacheClusterId": "my-cluster", "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheNodeType": "cache.m5.large", "Engine": "redis", "EngineVersion": "5.0.5", "CacheClusterStatus": "available", "NumCacheNodes": 1, "PreferredAvailabilityZone": "us-west-2c", "CacheClusterCreateTime": "2019-12-04T18:24:56.652Z", "PreferredMaintenanceWindow": "sat:10:00-sat:11:00", "PendingModifiedValues": {}, "CacheSecurityGroups": [], "CacheParameterGroup": { "CacheParameterGroupName": "default.redis5.0", "ParameterApplyStatus": "in-sync", "CacheNodeIdsToReboot": [] }, "CacheSubnetGroupName": "default", "AutoMinorVersionUpgrade": true, "SnapshotRetentionLimit": 0, "SnapshotWindow": "07:00-08:00", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Modifying an ElastiCache Cluster in the Elasticache User Guide.

The following code example shows how to use modify-cache-parameter-group.

Amazon CLI

To modify a cache parameter group

The following modify-cache-parameter-group example modifies the parameters of the specified cache parameter group.

aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name "mygroup" \ --parameter-name-values "ParameterName=activedefrag, ParameterValue=no"

Output:

{ "CacheParameterGroupName": "mygroup" }

For more information, see Modifying a Parameter Group in the Elasticache User Guide.

The following code example shows how to use modify-cache-subnet-group.

Amazon CLI

To modify a cache subnet group

The following modify-cache-subnet-group example modifies the specified cache subnet group.

aws elasticache modify-cache-subnet-group \ --cache-subnet-group-name kxkxk \ --cache-subnet-group-description "mygroup"

Output:

{ "CacheSubnetGroup": { "CacheSubnetGroupName": "kxkxk", "CacheSubnetGroupDescription": "mygroup", "VpcId": "vpc-xxxxcdb", "Subnets": [ { "SubnetIdentifier": "subnet-xxxxbff", "SubnetAvailabilityZone": { "Name": "us-west-2a" } } ] } }

For more information, see Modifying a Subnet Group in the Elasticache User Guide.

The following code example shows how to use modify-global-replication-group.

Amazon CLI

To modify a global replication group

The following modify-global-replication-group modifies the properties of a global replication group, in this case disabling automatic failover, using the Redis engine.

aws elasticache modify-global-replication-group \ --global-replication-group-id sgaui-pat-group \ --apply-immediately \ --no-automatic-failover-enabled

Output

{ "GlobalReplicationGroup": { "GlobalReplicationGroupId": "sgaui-test-group", "GlobalReplicationGroupDescription": " ", "Status": "modifying", "CacheNodeType": "cache.r5.large", "Engine": "redis", "EngineVersion": "5.0.6", "ClusterEnabled": false, "AuthTokenEnabled": false, "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Replication Across Amazon Regions Using Global Datastore in the Elasticache User Guide.

The following code example shows how to use modify-replication-group-shard-configuration.

Amazon CLI

To modify a replication group shard configuration

The following modify-replication-group-shard-configuration decreases the node group count using the Redis engine.

aws elasticache modify-replication-group-shard-configuration \ --replication-group-id mycluster \ --node-group-count 3 \ --apply-immediately \ --node-groups-to-remove 0002

Output

{ "ReplicationGroup": { "ReplicationGroupId": "mycluster", "Description": "mycluster", "GlobalReplicationGroupInfo": {}, "Status": "modifying", "PendingModifiedValues": {}, "MemberClusters": [ "mycluster-0002-001", "mycluster-0002-002", "mycluster-0002-003", "mycluster-0003-001", "mycluster-0003-002", "mycluster-0003-003", "mycluster-0003-004", "mycluster-0004-001", "mycluster-0004-002", "mycluster-0004-003", "mycluster-0005-001", "mycluster-0005-002", "mycluster-0005-003" ], "NodeGroups": [ { "NodeGroupId": "0002", "Status": "modifying", "Slots": "894-1767,3134-4443,5149-5461,6827-7332,12570-13662", "NodeGroupMembers": [ { "CacheClusterId": "mycluster-0002-001", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2c" }, { "CacheClusterId": "mycluster-0002-002", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2a" }, { "CacheClusterId": "mycluster-0002-003", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2b" } ] }, { "NodeGroupId": "0003", "Status": "modifying", "Slots": "0-324,5462-5692,6784-6826,7698-8191,10923-11075,12441-12569,13663-16383", "NodeGroupMembers": [ { "CacheClusterId": "mycluster-0003-001", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2c" }, { "CacheClusterId": "mycluster-0003-002", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2b" }, { "CacheClusterId": "mycluster-0003-003", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2a" }, { "CacheClusterId": "mycluster-0003-004", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2c" } ] }, { "NodeGroupId": "0004", "Status": "modifying", "Slots": "325-336,4706-5148,7333-7697,9012-10922,11076-12440", "NodeGroupMembers": [ { "CacheClusterId": "mycluster-0004-001", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2b" }, { "CacheClusterId": "mycluster-0004-002", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2a" }, { "CacheClusterId": "mycluster-0004-003", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2c" } ] }, { "NodeGroupId": "0005", "Status": "modifying", "Slots": "337-893,1768-3133,4444-4705,5693-6783,8192-9011", "NodeGroupMembers": [ { "CacheClusterId": "mycluster-0005-001", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2a" }, { "CacheClusterId": "mycluster-0005-002", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2c" }, { "CacheClusterId": "mycluster-0005-003", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2b" } ] } ], "AutomaticFailover": "enabled", "MultiAZ": "enabled", "ConfigurationEndpoint": { "Address": "mycluster.g2xbih.clustercfg.usw2.cache.amazonaws.com", "Port": 6379 }, "SnapshotRetentionLimit": 1, "SnapshotWindow": "13:00-14:00", "ClusterEnabled": true, "CacheNodeType": "cache.r5.xlarge", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Scaling ElastiCache for Redis Clusters in the Elasticache User Guide.

The following code example shows how to use modify-replication-group.

Amazon CLI

To modify a replication group

The following modify-replication-group disables Multi-AZ using the Redis engine.

aws elasticache modify-replication-group \ --replication-group-id test-cluster \ --no-multi-az-enabled \ --apply-immediately

Output

{ "ReplicationGroup": { "ReplicationGroupId": "test-cluster", "Description": "test-cluster", "GlobalReplicationGroupInfo": { "GlobalReplicationGroupId": "sgaui-pat-group", "GlobalReplicationGroupMemberRole": "PRIMARY" }, "Status": "available", "PendingModifiedValues": {}, "MemberClusters": [ "test-cluster-001", "test-cluster-002", "test-cluster-003" ], "NodeGroups": [ { "NodeGroupId": "0001", "Status": "available", "PrimaryEndpoint": { "Address": "test-cluster.g2xbih.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "ReaderEndpoint": { "Address": "test-cluster-ro.g2xbih.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "NodeGroupMembers": [ { "CacheClusterId": "test-cluster-001", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "test-cluster-001.g2xbih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2c", "CurrentRole": "primary" }, { "CacheClusterId": "test-cluster-002", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "test-cluster-002.g2xbih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2b", "CurrentRole": "replica" }, { "CacheClusterId": "test-cluster-003", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "test-cluster-003.g2xbih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "replica" } ] } ], "SnapshottingClusterId": "test-cluster-002", "AutomaticFailover": "enabled", "MultiAZ": "disabled", "SnapshotRetentionLimit": 1, "SnapshotWindow": "08:00-09:00", "ClusterEnabled": false, "CacheNodeType": "cache.r5.large", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Modifying a Replication Group in the Elasticache User Guide.

The following code example shows how to use modify-user-group.

Amazon CLI

To modify a user group

The following modify-user-group example adds a user to the user group.

aws elasticache modify-user-group \ --user-group-id myusergroup \ --user-ids-to-add user1

Output:

{ "UserGroupId": "myusergroup", "Status": "modifying", "Engine": "redis", "UserIds": [ "default" ], "PendingChanges": { "UserIdsToAdd": [ "user1" ] }, "ReplicationGroups": [], "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxx52:usergroup:myusergroup" }

For more information, see Authenticating Users with Role-Based Access Control (RBAC) in the Elasticache User Guide.

The following code example shows how to use modify-user.

Amazon CLI

To modify a user

The following modify-user example modifies a user's access string.

aws elasticache modify-user \ --user-id user2 \ --append-access-string "on ~* +@all"

Output:

{ "UserId": "user2", "UserName": "myUser", "Status": "modifying", "Engine": "redis", "AccessString": "on ~* +@all", "UserGroupIds": [], "Authentication": { "Type": "password", "PasswordCount": 1 }, "ARN": "arn:aws:elasticache:us-west-2:xxxxxxxxxx52:user:user2" }

For more information, see Authenticating Users with Role-Based Access Control (RBAC) in the Elasticache User Guide.

  • For API details, see ModifyUser in Amazon CLI Command Reference.

The following code example shows how to use purchase-reserved-cache-nodes-offering.

Amazon CLI

To purchase a reserved-cache-node-offering

The following purchase-reserved-cache-nodes-offering example allows you to purchase a reserved cache node offering.

aws elasticache purchase-reserved-cache-nodes-offering \ --reserved-cache-nodes-offering-id xxxxxxx-4da5-4b90-b92d-929fbd7abed2

Output

{ "ReservedCacheNode": { "ReservedCacheNodeId": "ri-2020-06-30-17-59-40-474", "ReservedCacheNodesOfferingId": "xxxxxxx-4da5-4b90-b92d-929fbd7abed2", "CacheNodeType": "cache.m3.2xlarge", "StartTime": "2020-06-30T17:59:40.474000+00:00", "Duration": 31536000, "FixedPrice": 1772.0, "UsagePrice": 0.0, "CacheNodeCount": 1, "ProductDescription": "redis", "OfferingType": "Heavy Utilization", "State": "payment-pending", "RecurringCharges": [ { "RecurringChargeAmount": 0.25, "RecurringChargeFrequency": "Hourly" } ] } }

For more information, see Getting Info About Reserved Node Offerings in the Elasticache Redis User Guide or Getting Info About Reserved Node Offerings in the Elasticache Memcached User Guide.

The following code example shows how to use reboot-cache-cluster.

Amazon CLI

To reboot a cache cluster

The following reboot-cache-cluster example reboots some, or all, of the cache nodes within a provisioned cluster. This operation applies any modified cache parameter groups to the cluster. The reboot operation takes place as soon as possible, and results in a momentary outage to the cluster. During the reboot, the cluster status is set to REBOOTING.

aws elasticache reboot-cache-cluster \ --cache-cluster-id "my-cluster-001" \ --cache-node-ids-to-reboot "0001"

Output:

{ "CacheCluster": { "CacheClusterId": "my-cluster-001", "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheNodeType": "cache.r5.xlarge", "Engine": "redis", "EngineVersion": "5.0.5", "CacheClusterStatus": "rebooting cache cluster nodes", "NumCacheNodes": 1, "PreferredAvailabilityZone": "us-west-2a", "CacheClusterCreateTime": "2019-11-26T03:35:04.546Z", "PreferredMaintenanceWindow": "mon:04:05-mon:05:05", "PendingModifiedValues": {}, "NotificationConfiguration": { "TopicArn": "arn:aws:sns:us-west-2:xxxxxxxxxx152:My_Topic", "TopicStatus": "active" }, "CacheSecurityGroups": [], "CacheParameterGroup": { "CacheParameterGroupName": "mygroup", "ParameterApplyStatus": "in-sync", "CacheNodeIdsToReboot": [] }, "CacheSubnetGroupName": "kxkxk", "AutoMinorVersionUpgrade": true, "SecurityGroups": [ { "SecurityGroupId": "sg-xxxxxxxxxxxxx836", "Status": "active" }, { "SecurityGroupId": "sg-xxxxxxxx7b", "Status": "active" } ], "ReplicationGroupId": "my-cluster", "SnapshotRetentionLimit": 0, "SnapshotWindow": "07:30-08:30", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Rebooting a Cluster <https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html in the Elasticache User Guide.

The following code example shows how to use reset-cache-parameter-group.

Amazon CLI

To reset a cache parameter group

The following reset-cache-parameter-group example modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the --reset-all-parameters and --cache-parameter-group-name parameters.

aws elasticache reset-cache-parameter-group \ --cache-parameter-group-name "mygroup" \ --reset-all-parameters

Output:

{ "CacheParameterGroupName": "mygroup" }

The following code example shows how to use start-migration.

Amazon CLI

To start a migration

The following start-migration migrates your data from self-hosted Redis on Amazon EC2 to Amazon ElastiCache, using the Redis engine.

aws elasticache start-migration \ --replication-group-id test \ --customer-node-endpoint-list "Address='test.g2xbih.ng.0001.usw2.cache.amazonaws.com',Port=6379"

Output

{ "ReplicationGroup": { "ReplicationGroupId": "test", "Description": "test", "GlobalReplicationGroupInfo": {}, "Status": "modifying", "PendingModifiedValues": {}, "MemberClusters": [ "test-001", "test-002", "test-003" ], "NodeGroups": [ { "NodeGroupId": "0001", "Status": "available", "PrimaryEndpoint": { "Address": "test.g2xbih.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "ReaderEndpoint": { "Address": "test-ro.g2xbih.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "NodeGroupMembers": [ { "CacheClusterId": "test-001", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "test-001.g2xbih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "primary" }, { "CacheClusterId": "test-002", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "test-002.g2xbih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2c", "CurrentRole": "replica" }, { "CacheClusterId": "test-003", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "test-003.g2xbih.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2b", "CurrentRole": "replica" } ] } ], "SnapshottingClusterId": "test-002", "AutomaticFailover": "enabled", "MultiAZ": "enabled", "SnapshotRetentionLimit": 1, "SnapshotWindow": "07:30-08:30", "ClusterEnabled": false, "CacheNodeType": "cache.r5.large", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }

For more information, see Online Migration to ElastiCache in the Elasticache User Guide.

  • For API details, see StartMigration in Amazon CLI Command Reference.

The following code example shows how to use test-failover.

Amazon CLI

To test failover of a node group

The following test-failover example tests automatic failover on the specified node group (called a shard in the console) in a replication group (called a cluster in the console).

aws elasticache test-failover / --replication-group-id "mycluster" / --node-group-id "0001"

Output:

{ "ReplicationGroup": { "ReplicationGroupId": "mycluster", "Description": "My Cluster", "Status": "available", "PendingModifiedValues": {}, "MemberClusters": [ "mycluster-0001-001", "mycluster-0001-002", "mycluster-0001-003", "mycluster-0002-001", "mycluster-0002-002", "mycluster-0002-003", "mycluster-0003-001", "mycluster-0003-002", "mycluster-0003-003" ], "NodeGroups": [ { "NodeGroupId": "0001", "Status": "available", "Slots": "0-5461", "NodeGroupMembers": [ { "CacheClusterId": "mycluster-0001-001", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2b" }, { "CacheClusterId": "mycluster-0001-002", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2a" }, { "CacheClusterId": "mycluster-0001-003", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2c" } ] }, { "NodeGroupId": "0002", "Status": "available", "Slots": "5462-10922", "NodeGroupMembers": [ { "CacheClusterId": "mycluster-0002-001", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2a" }, { "CacheClusterId": "mycluster-0002-002", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2b" }, { "CacheClusterId": "mycluster-0002-003", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2c" } ] }, { "NodeGroupId": "0003", "Status": "available", "Slots": "10923-16383", "NodeGroupMembers": [ { "CacheClusterId": "mycluster-0003-001", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2c" }, { "CacheClusterId": "mycluster-0003-002", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2b" }, { "CacheClusterId": "mycluster-0003-003", "CacheNodeId": "0001", "PreferredAvailabilityZone": "us-west-2a" } ] } ], "AutomaticFailover": "enabled", "ConfigurationEndpoint": { "Address": "mycluster.xxxxih.clustercfg.usw2.cache.amazonaws.com", "Port": 6379 }, "SnapshotRetentionLimit": 1, "SnapshotWindow": "13:00-14:00", "ClusterEnabled": true, "CacheNodeType": "cache.r5.large", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false } }
  • For API details, see TestFailover in Amazon CLI Command Reference.