[ aws . elasticache ]



Allows you to purchase a reserved cache node offering.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--reserved-cache-nodes-offering-id <value>
[--reserved-cache-node-id <value>]
[--cache-node-count <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]


--reserved-cache-nodes-offering-id (string)

The ID of the reserved cache node offering to purchase.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

--reserved-cache-node-id (string)

A customer-specified identifier to track this reservation.


The Reserved Cache Node ID is an unique customer-specified identifier to track this reservation. If this parameter is not specified, ElastiCache automatically generates an identifier for the reservation.

Example: myreservationID

--cache-node-count (integer)

The number of cache node instances to reserve.

Default: 1

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

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.


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


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


ReservedCacheNode -> (structure)

Represents the output of a PurchaseReservedCacheNodesOffering operation.

ReservedCacheNodeId -> (string)

The unique identifier for the reservation.

ReservedCacheNodesOfferingId -> (string)

The offering identifier.

CacheNodeType -> (string)

The cache node type for the reserved cache nodes.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation: M5 node types: cache.m5.large , cache.m5.xlarge , cache.m5.2xlarge , cache.m5.4xlarge , cache.m5.12xlarge , cache.m5.24xlarge M4 node types: cache.m4.large , cache.m4.xlarge , cache.m4.2xlarge , cache.m4.4xlarge , cache.m4.10xlarge T3 node types: cache.t3.micro , cache.t3.small , cache.t3.medium T2 node types: cache.t2.micro , cache.t2.small , cache.t2.medium

    • Previous generation: (not recommended) T1 node types: cache.t1.micro M1 node types: cache.m1.small , cache.m1.medium , cache.m1.large , cache.m1.xlarge M3 node types: cache.m3.medium , cache.m3.large , cache.m3.xlarge , cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended) C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation: R5 node types: cache.r5.large , cache.r5.xlarge , cache.r5.2xlarge , cache.r5.4xlarge , cache.r5.12xlarge , cache.r5.24xlarge R4 node types: cache.r4.large , cache.r4.xlarge , cache.r4.2xlarge , cache.r4.4xlarge , cache.r4.8xlarge , cache.r4.16xlarge

    • Previous generation: (not recommended) M2 node types: cache.m2.xlarge , cache.m2.2xlarge , cache.m2.4xlarge R3 node types: cache.r3.large , cache.r3.xlarge , cache.r3.2xlarge , cache.r3.4xlarge , cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

StartTime -> (timestamp)

The time the reservation started.

Duration -> (integer)

The duration of the reservation in seconds.

FixedPrice -> (double)

The fixed price charged for this reserved cache node.

UsagePrice -> (double)

The hourly price charged for this reserved cache node.

CacheNodeCount -> (integer)

The number of cache nodes that have been reserved.

ProductDescription -> (string)

The description of the reserved cache node.

OfferingType -> (string)

The offering type of this reserved cache node.

State -> (string)

The state of the reserved cache node.

RecurringCharges -> (list)

The recurring price charged to run this reserved cache node.


Contains the specific price and frequency of a recurring charges for a reserved cache node, or for a reserved cache node offering.

RecurringChargeAmount -> (double)

The monetary amount of the recurring charge.

RecurringChargeFrequency -> (string)

The frequency of the recurring charge.

ReservationARN -> (string)

The Amazon Resource Name (ARN) of the reserved cache node.

Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582