You are viewing the documentation for an older major version of the AWS CLI (version 1).

AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. To view this page for the AWS CLI version 2, click here. For more information see the AWS CLI version 2 installation instructions and migration guide.

[ aws . memorydb ]



Makes a copy of an existing snapshot.

See also: AWS API Documentation


--source-snapshot-name <value>
--target-snapshot-name <value>
[--target-bucket <value>]
[--kms-key-id <value>]
[--tags <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
[--endpoint-url <value>]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]


--source-snapshot-name (string)

The name of an existing snapshot from which to make a copy.

--target-snapshot-name (string)

A name for the snapshot copy. MemoryDB does not permit overwriting a snapshot, therefore this name must be unique within its context - MemoryDB or an Amazon S3 bucket if exporting.

--target-bucket (string)

The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access. When using this parameter to export a snapshot, be sure MemoryDB has the needed permissions to this S3 bucket. For more information, see Step 2: Grant MemoryDB Access to Your Amazon S3 Bucket .

--kms-key-id (string)

The ID of the KMS key used to encrypt the target snapshot.

--tags (list)

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.


A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see Tagging your MemoryDB resources

Key -> (string)

The key for the tag. May not be null.

Value -> (string)

The tag's value. May be null.

Shorthand Syntax:

Key=string,Value=string ...

JSON Syntax:

    "Key": "string",
    "Value": "string"

--cli-input-json (string) Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI 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.

--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. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

Global Options

--debug (boolean)

Turn on debug logging.

--endpoint-url (string)

Override command's default URL with the given URL.

--no-verify-ssl (boolean)

By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

--no-paginate (boolean)

Disable automatic pagination.

--output (string)

The formatting style for command output.

  • json
  • text
  • table

--query (string)

A JMESPath query to use in filtering the response data.

--profile (string)

Use a specific profile from your credential file.

--region (string)

The region to use. Overrides config/env settings.

--version (string)

Display the version of this tool.

--color (string)

Turn on/off color output.

  • on
  • off
  • auto

--no-sign-request (boolean)

Do not sign requests. Credentials will not be loaded if this argument is provided.

--ca-bundle (string)

The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

--cli-read-timeout (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

--cli-connect-timeout (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.



To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.

Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal's quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .

To copy a snapshot

The following copy-snapshot example creates a copy of a snapshot.

aws memorydb copy-snapshot \
    --source-snapshot-name my-cluster-snapshot \
    --target-snapshot-name my-cluster-snapshot-copy


    "Snapshot": {
        "Name": "my-cluster-snapshot-copy",
        "Status": "creating",
        "Source": "manual",
        "ARN": "arn:aws:memorydb:us-east-1:491658xxxxxx:snapshot/my-cluster-snapshot-copy",
        "ClusterConfiguration": {
            "Name": "my-cluster",
            "Description": " ",
            "NodeType": "db.r6g.large",
            "EngineVersion": "6.2",
            "MaintenanceWindow": "wed:03:00-wed:04:00",
            "Port": 6379,
            "ParameterGroupName": "default.memorydb-redis6",
            "SubnetGroupName": "my-sg",
            "VpcId": "vpc-xx2574fc",
            "SnapshotRetentionLimit": 0,
            "SnapshotWindow": "04:30-05:30",
            "NumShards": 2

For more information, see Copying a snapshot in the MemoryDB User Guide.


Snapshot -> (structure)

Represents a copy of an entire cluster as of the time when the snapshot was taken.

Name -> (string)

The name of the snapshot

Status -> (string)

The status of the snapshot. Valid values: creating | available | restoring | copying | deleting.

Source -> (string)

Indicates whether the snapshot is from an automatic backup (automated) or was created manually (manual).

KmsKeyId -> (string)

The ID of the KMS key used to encrypt the snapshot.

ARN -> (string)

The ARN (Amazon Resource Name) of the snapshot.

ClusterConfiguration -> (structure)

The configuration of the cluster from which the snapshot was taken

Name -> (string)

The name of the cluster

Description -> (string)

The description of the cluster configuration

NodeType -> (string)

The node type used for the cluster

EngineVersion -> (string)

The Redis engine version used by the cluster

MaintenanceWindow -> (string)

The specified maintenance window for the cluster

TopicArn -> (string)

The Amazon Resource Name (ARN) of the SNS notification topic for the cluster

Port -> (integer)

The port used by the cluster

ParameterGroupName -> (string)

The name of parameter group used by the cluster

SubnetGroupName -> (string)

The name of the subnet group used by the cluster

VpcId -> (string)

The ID of the VPC the cluster belongs to

SnapshotRetentionLimit -> (integer)

The snapshot retention limit set by the cluster

SnapshotWindow -> (string)

The snapshot window set by the cluster

NumShards -> (integer)

The number of shards in the cluster

Shards -> (list)

The list of shards in the cluster


Provides details of a shard in a snapshot

Name -> (string)

The name of the shard

Configuration -> (structure)

The configuration details of the shard

Slots -> (string)

A string that specifies the keyspace for a particular node group. Keyspaces range from 0 to 16,383. The string is in the format startkey-endkey.

ReplicaCount -> (integer)

The number of read replica nodes in this shard.

Size -> (string)

The size of the shard's snapshot

SnapshotCreationTime -> (timestamp)

The date and time that the shard's snapshot was created

DataTiering -> (string)

Enables data tiering. Data tiering is only supported for clusters using the r6gd node type. This parameter must be set when using r6gd nodes. For more information, see Data tiering .