Amazon Elasticsearch Service
Developer Guide (API Version 2015-01-01)

Amazon Elasticsearch Service Reserved Instances

Amazon Elasticsearch Service Reserved Instances (RIs) offer significant discounts compared to standard On-Demand Instances. The instances themselves are identical; RIs are just a billing discount applied to On-Demand Instances in your account. For long-lived applications with predictable usage, RIs can provide considerable savings over time.

Amazon ES RIs require one- or three-year terms and have three payment options that affect the discount rate:

  • No Upfront – You pay nothing upfront. You pay a discounted hourly rate for every hour within the term.

  • Partial Upfront – You pay a portion of the cost upfront, and you pay a discounted hourly rate for every hour within the term.

  • All Upfront – You pay the entirety of the cost upfront. You don't pay an hourly rate for the term.

Generally speaking, a larger upfront payment means a larger discount. You can't cancel Reserved Instances—when you reserve them, you commit to paying for the entire term—and upfront payments are nonrefundable. For full details, see Amazon Elasticsearch Service Pricing and FAQ.

Purchasing Reserved Instances (Console)

The console lets you view your existing Reserved Instances and purchase new ones.

To purchase a reservation

  1. Go to https://aws.amazon.com, and then choose Sign In to the Console.

  2. Under Analytics, choose Elasticsearch Service.

  3. Choose Reserved Instances.

    On this page, you can view your existing reservations. If you have many reservations, you can filter them to more easily identify and view a particular reservation.

    Tip

    If you don't see the Reserved Instances link, create a domain in the region.

  4. Choose Purchase Reserved Instance.

  5. For Reservation Name, type a unique, descriptive name.

  6. Choose an instance type, size, and number of instances. For guidance, see Sizing Amazon ES Domains.

  7. Choose a term length and payment option.

  8. Review the payment details carefully.

  9. Choose Submit.

  10. Review the purchase summary carefully. Purchases of Reserved Instances are non-refundable.

  11. Choose Purchase.

Purchasing Reserved Instances (AWS CLI)

The AWS CLI has commands for viewing offerings, purchasing a reservation, and viewing your reservations. The following command and sample response show the offerings for a given AWS Region:

aws es describe-reserved-elasticsearch-instance-offerings --region us-east-1 { "ReservedElasticsearchInstanceOfferings": [ { "FixedPrice": x, "ReservedElasticsearchInstanceOfferingId": "1a2a3a4a5-1a2a-3a4a-5a6a-1a2a3a4a5a6a", "RecurringCharges": [ { "RecurringChargeAmount": y, "RecurringChargeFrequency": "Hourly" } ], "UsagePrice": 0.0, "PaymentOption": "PARTIAL_UPFRONT", "Duration": 31536000, "ElasticsearchInstanceType": "m4.2xlarge.elasticsearch", "CurrencyCode": "USD" } ] }

For an explanation of each return value, see the following table.

Field Description
FixedPrice The upfront cost of the reservation.
ReservedElasticsearchInstanceOfferingId The offering ID. Make note of this value if you want to reserve the offering.
RecurringCharges The hourly rate for the reservation.
UsagePrice A legacy field. For Amazon ES, this value is always 0.
PaymentOption No Upfront, Partial Upfront, or All Upfront.
Duration Length of the term in seconds:
  • 31536000 seconds is one year.

  • 94608000 seconds is three years.

ElasticsearchInstanceType The instance type for the reservation. For information about the hardware resources that are allocated to each instance type, see Amazon Elasticsearch Service Pricing.
CurrencyCode The currency for FixedPrice and RecurringChargeAmount.

This next example purchases a reservation:

aws es purchase-reserved-elasticsearch-instance-offering --reserved-elasticsearch-instance-offering-id 1a2a3a4a5-1a2a-3a4a-5a6a-1a2a3a4a5a6a --reservation-name my-reservation --instance-count 3 --region us-east-1 { "ReservationName": "my-reservation", "ReservedElasticsearchInstanceId": "9a8a7a6a-5a4a-3a2a-1a0a-9a8a7a6a5a4a" }

Finally, you can list your reservations for a given region using the following example:

aws es describe-reserved-elasticsearch-instances --region us-east-1 { "ReservedElasticsearchInstances": [ { "FixedPrice": x, "ReservedElasticsearchInstanceOfferingId": "1a2a3a4a5-1a2a-3a4a-5a6a-1a2a3a4a5a6a", "ReservationName": "my-reservation", "PaymentOption": "PARTIAL_UPFRONT", "UsagePrice": 0.0, "ReservedElasticsearchInstanceId": "9a8a7a6a-5a4a-3a2a-1a0a-9a8a7a6a5a4a", "RecurringCharges": [ { "RecurringChargeAmount": y, "RecurringChargeFrequency": "Hourly" } ], "State": "payment-pending", "StartTime": 1522872571.229, "ElasticsearchInstanceCount": 3, "Duration": 31536000, "ElasticsearchInstanceType": "m4.2xlarge.elasticsearch", "CurrencyCode": "USD" } ] }

Note

StartTime is Unix epoch time, which is the number of seconds that have passed since midnight UTC of 1 January 1970. For example, 1522872571 epoch time is 20:09:31 UTC of 4 April 2018. You can use online converters.

To learn more about the commands used in the preceding examples, see the AWS CLI Command Reference.

Purchasing Reserved Instances (AWS SDKs)

The AWS SDKs (except the Android and iOS SDKs) support all the operations that are defined in the Amazon ES Configuration API Reference, including the following:

  • DescribeReservedElasticsearchInstanceOfferings

  • PurchaseReservedElasticsearchInstance

  • DescribeReservedElasticsearchInstances

For more information about installing and using the AWS SDKs, see AWS Software Development Kits.

Examining Costs

Cost Explorer is a free tool that you can use to view your spending data for the past 13 months. Analyzing this data helps you identify trends and understand if RIs fit your use case. If you already have RIs, you can group by Purchase Option and show amortized costs to compare that spending to your spending for On-Demand Instances. For more information, see Analyzing Your Costs with Cost Explorer in the AWS Billing and Cost Management User Guide.