[ aws . dax ]

decrease-replication-factor

Description

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.

Synopsis

  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>]

Options

--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.

Examples

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.

Output

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 encryption TLS for Transport Layer Security