Removes one or more nodes from a DAX cluster.
Note
You cannot use DecreaseReplicationFactor
to remove the last node in a DAX cluster. If you need to do this, use DeleteCluster
instead.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
decrease-replication-factor
--cluster-name <value>
--new-replication-factor <value>
[--availability-zones <value>]
[--node-ids-to-remove <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--cluster-name
(string)
The name of the DAX cluster from which you want to remove nodes.
--new-replication-factor
(integer)
The new number of nodes for the DAX cluster.
--availability-zones
(list)
The Availability Zone(s) from which to remove nodes.
(string)
Syntax:
"string" "string" ...
--node-ids-to-remove
(list)
The unique identifiers of the nodes to be removed from the cluster.
(string)
Syntax:
"string" "string" ...
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To remove one or more nodes from the cluster
The following decrease-replication-factor
example decreases the number of nodes in the specified DAX cluster to one.
aws dax decrease-replication-factor \
--cluster-name daxcluster \
--new-replication-factor 1
Output:
{
"Cluster": {
"ClusterName": "daxcluster",
"ClusterArn": "arn:aws:dax:us-west-2:123456789012:cache/daxcluster",
"TotalNodes": 3,
"ActiveNodes": 3,
"NodeType": "dax.r4.large",
"Status": "modifying",
"ClusterDiscoveryEndpoint": {
"Address": "daxcluster.ey3o9d.clustercfg.dax.usw2.cache.amazonaws.com",
"Port": 8111
},
"Nodes": [
{
"NodeId": "daxcluster-a",
"Endpoint": {
"Address": "daxcluster-a.ey3o9d.0001.dax.usw2.cache.amazonaws.com",
"Port": 8111
},
"NodeCreateTime": 1576625059.509,
"AvailabilityZone": "us-west-2c",
"NodeStatus": "available",
"ParameterGroupStatus": "in-sync"
},
{
"NodeId": "daxcluster-b",
"Endpoint": {
"Address": "daxcluster-b.ey3o9d.0001.dax.usw2.cache.amazonaws.com",
"Port": 8111
},
"NodeCreateTime": 1576625059.509,
"AvailabilityZone": "us-west-2a",
"NodeStatus": "available",
"ParameterGroupStatus": "in-sync"
},
{
"NodeId": "daxcluster-c",
"Endpoint": {
"Address": "daxcluster-c.ey3o9d.0001.dax.usw2.cache.amazonaws.com",
"Port": 8111
},
"NodeCreateTime": 1576625059.509,
"AvailabilityZone": "us-west-2b",
"NodeStatus": "available",
"ParameterGroupStatus": "in-sync"
}
],
"PreferredMaintenanceWindow": "thu:13:00-thu:14:00",
"SubnetGroup": "default",
"SecurityGroups": [
{
"SecurityGroupIdentifier": "sg-1af6e36e",
"Status": "active"
}
],
"IamRoleArn": "arn:aws:iam::123456789012:role/DAXServiceRoleForDynamoDBAccess",
"ParameterGroup": {
"ParameterGroupName": "default.dax1.0",
"ParameterApplyStatus": "in-sync",
"NodeIdsToReboot": []
},
"SSEDescription": {
"Status": "ENABLED"
}
}
}
For more information, see Managing DAX Clusters in the Amazon DynamoDB Developer Guide.
Cluster -> (structure)
A description of the DAX cluster, after you have decreased its replication factor.
ClusterName -> (string)
The name of the DAX cluster.
Description -> (string)
The description of the cluster.
ClusterArn -> (string)
The Amazon Resource Name (ARN) that uniquely identifies the cluster.
TotalNodes -> (integer)
The total number of nodes in the cluster.
ActiveNodes -> (integer)
The number of nodes in the cluster that are active (i.e., capable of serving requests).
NodeType -> (string)
The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)
Status -> (string)
The current status of the cluster.
ClusterDiscoveryEndpoint -> (structure)
The endpoint for this DAX cluster, consisting of a DNS name, a port number, and a URL. Applications should use the URL to configure the DAX client to find their cluster.
Address -> (string)
The DNS hostname of the endpoint.
Port -> (integer)
The port number that applications should use to connect to the endpoint.
URL -> (string)
The URL that applications should use to connect to the endpoint. The default ports are 8111 for the “dax” protocol and 9111 for the “daxs” protocol.
NodeIdsToRemove -> (list)
A list of nodes to be removed from the cluster.
(string)
Nodes -> (list)
A list of nodes that are currently in the cluster.
(structure)
Represents an individual node within a DAX cluster.
NodeId -> (string)
A system-generated identifier for the node.
Endpoint -> (structure)
The endpoint for the node, consisting of a DNS name and a port number. Client applications can connect directly to a node endpoint, if desired (as an alternative to allowing DAX client software to intelligently route requests and responses to nodes in the DAX cluster.
Address -> (string)
The DNS hostname of the endpoint.
Port -> (integer)
The port number that applications should use to connect to the endpoint.
URL -> (string)
The URL that applications should use to connect to the endpoint. The default ports are 8111 for the “dax” protocol and 9111 for the “daxs” protocol.
NodeCreateTime -> (timestamp)
The date and time (in UNIX epoch format) when the node was launched.
AvailabilityZone -> (string)
The Availability Zone (AZ) in which the node has been deployed.
NodeStatus -> (string)
The current status of the node. For example:
available
.ParameterGroupStatus -> (string)
The status of the parameter group associated with this node. For example,
in-sync
.PreferredMaintenanceWindow -> (string)
A range of time when maintenance of DAX cluster software will be performed. For example:
sun:01:00-sun:09:00
. Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.NotificationConfiguration -> (structure)
Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).
TopicArn -> (string)
The Amazon Resource Name (ARN) that identifies the topic.
TopicStatus -> (string)
The current state of the topic. A value of “active” means that notifications will be sent to the topic. A value of “inactive” means that notifications will not be sent to the topic.
SubnetGroup -> (string)
The subnet group where the DAX cluster is running.
SecurityGroups -> (list)
A list of security groups, and the status of each, for the nodes in the cluster.
(structure)
An individual VPC security group and its status.
SecurityGroupIdentifier -> (string)
The unique ID for this security group.
Status -> (string)
The status of this security group.
IamRoleArn -> (string)
A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role’s permissions to access DynamoDB on your behalf.
ParameterGroup -> (structure)
The parameter group being used by nodes in the cluster.
ParameterGroupName -> (string)
The name of the parameter group.
ParameterApplyStatus -> (string)
The status of parameter updates.
NodeIdsToReboot -> (list)
The node IDs of one or more nodes to be rebooted.
(string)
SSEDescription -> (structure)
The description of the server-side encryption status on the specified DAX cluster.
Status -> (string)
The current state of server-side encryption:
ENABLING
- Server-side encryption is being enabled.
ENABLED
- Server-side encryption is enabled.
DISABLING
- Server-side encryption is being disabled.
DISABLED
- Server-side encryption is disabled.ClusterEndpointEncryptionType -> (string)
The type of encryption supported by the cluster’s endpoint. Values are:
NONE
for no encryptionTLS
for Transport Layer Security