Amazon ElastiCache is a web service that makes it easy to deploy, operate, and scale an in-memory cache in the cloud. The service improves the performance of web applications by allowing you to retrieve information from a fast, managed, in-memory caching system, instead of relying entirely on slower disk-based databases. Amazon ElastiCache is protocol-compliant with Memcached, a widely adopted memory object caching system, so code, applications, and popular tools that you use today with existing Memcached environments will work seamlessly with the service.
Amazon ElastiCache simplifies and offloads the management, monitoring, and operation of in-memory cache environments, enabling you to focus on the differentiating parts of your applications. Play the video below for a quick overview of the service and to learn how to get started.
Using Amazon ElastiCache, you can add an in-memory cache to your application architecture in a matter of minutes. With a few clicks of the AWS Management Console, you can launch a Cache Cluster consisting of a collection of Cache Nodes, each running Memcached software. You can then scale the amount of memory associated with your Cache Cluster in minutes by adding or deleting Cache Nodes to meet the demands of your changing workload. In addition, Amazon ElastiCache automatically detects and replaces failed Cache Nodes, providing a resilient system that mitigates the risk of overloaded databases, which slow website and application load times. Through integration with Amazon CloudWatch, Amazon ElastiCache provides enhanced visibility into key performance metrics associated with your Cache Nodes.
Amazon ElastiCache gives you access to the capabilities of a familiar Memcached compatible caching environment.
To use Amazon ElastiCache, you simply:
Simple to Deploy Amazon ElastiCache makes it very easy to deploy a Memcached compliant cache environment. Use the AWS Management Console or simple API calls to access the capabilities of a production-ready Cache Cluster in minutes without worrying about infrastructure provisioning, or installing and maintaining cache software.
Managed Amazon ElastiCache automates time-consuming management tasks --such as patch management, failure detection and recovery-- allowing you to pursue higher value application development.
Compatible With Amazon ElastiCache, you get native access to a Memcached environment. This facilitates compatibility with your existing tools and applications. In addition, Amazon ElastiCache gives you optional control over which supported Memcached version powers your Cache Cluster via Cache Engine Version Management.
Elastic With a simple API call or a few clicks of the AWS Management Console, you can add or delete Cache Nodes to your Cache Cluster to meet your application load.
Reliable Amazon ElastiCache has multiple features that enhance reliability for critical production deployments, including automatic failure detection and recovery. Amazon ElastiCache runs on the same highly reliable infrastructure used by other Amazon Web Services.
Designed for use with other Amazon Web Services Amazon ElastiCache is designed for use with other Amazon Web Services, including Amazon Relational Database Service (Amazon RDS), Amazon SimpleDB, Amazon Elastic Compute Cloud (Amazon EC2), Amazon CloudWatch, and Amazon Simple Notification Service (Amazon SNS). For example, an application running in Amazon EC2 can securely connect and experience low-latency access to an Amazon ElastiCache Cluster in the same Region. Additionally, by using Amazon CloudWatch, you can get detailed monitoring statistics of a number of metrics such as cache hits and cache misses, at no extra charge. You can also set up your application to use Amazon SNS and receive e-mail notifications for key events such as failure recovery of Amazon ElastiCache Nodes.
Secure Amazon ElastiCache provides web service interfaces that allow you to configure firewall settings that control network access to your Cache Cluster.
Cost Effective Amazon ElastiCache saves you the administrative cost of setting up and managing a multi-node Cache Cluster. You can scale up and scale down the number of Cache Nodes in your Cache Cluster to deliver optimum performance as your application usage pattern changes, paying only for the resources you actually consume. The on-demand pricing allows you to pay for memory/compute capacity by the hour with no long-term commitments. This makes the use of Amazon ElastiCache very cost effective and frees you from the costs and complexities of planning, purchasing, and maintaining hardware.
Amazon ElastiCache currently supports the following Cache Node Types:
Note: Each Cache Node Type above lists the memory available to Memcached after taking System Software overhead into account.
One ECU provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.
Pay only for what you use. There is no minimum fee. Estimate your monthly bill using the AWS Simple Monthly Calculator.
On-Demand Cache Nodes let you pay for cache capacity by the hour your Cache Node runs with no long-term commitments. This frees you from the costs and complexities of planning, purchasing, and maintaining hardware and transforms what are commonly large fixed costs into much smaller variable costs.
Pricing is per Cache Node-hour consumed, from the time a Cache Node is launched until it is terminated. Each partial Cache Node-hour consumed will be billed as a full hour.
With Reserved Cache Nodes, you can make a low, one-time, up-front payment for each Cache Node you wish to reserve for a 1 or 3 year term. In return, you receive a significant discount off the ongoing hourly usage rate for the Cache Node(s) you reserve. Amazon ElastiCache provides three Reserved Cache Node types (Light, Medium, and Heavy Utilization Reserved Cache Nodes) that enable you to balance the amount you pay upfront with your effective hourly price. To learn more about Reserved Cache Nodes, please visit our Reserved Cache Nodes page.
Amazon ElastiCache provides strong network level security by allowing access/data transfer only from or to the Amazon EC2 Instances you define as part of your Cache Security Groups.
As part of AWS’s Free Usage Tier, new AWS customers will receive free 15 GB of data transfer out each month aggregated across all AWS services for one year.
| Developer Resources |
Amazon ElastiCache can be used to significantly improve latency and throughput for many read-heavy application workloads (such as social networking, gaming, media sharing and Q&A portals) or compute-intensive workloads (such as a recommendation engine). Caching improves application performance by storing critical pieces of data in memory for low-latency access. Cached information may include the results of I/O-intensive database queries or the results of computationally-intensive calculations.
Amazon ElastiCache allows you to use the AWS Management Console or a simple set of web services APIs to create, delete and modify Cache Clusters. A Cache Cluster is a logical collection of Cache Nodes, each running Memcached software. You can control access and security for your Cache Cluster(s) using Cache Security Groups and tune your deployments using Cache Parameter Groups.
If your application already relies on Memcached, you can easily port it to take advantage of Amazon ElastiCache with the following steps:
As with any migration process, we recommend thorough testing of your new Amazon ElastiCache deployment before completing the cut over from your current solution.
You will be charged at the end of each month for the Amazon ElastiCache resources you consumed. Once a Cache Node is deployed, you will be charged for each hour it is running (for example, $0.095/hour for a Small Cache Node). Each Cache Node will run until termination, which occurs when you delete the Cache Node or the associated Cache Cluster. Partial hours consumed are billed as full hours.
You can easily get started with Amazon ElastiCache by viewing a quick demo created by AWS Evangelist Simone Brunozzi or reviewing the Getting Started Guide. Once you are ready to create your own Cache Cluster(s) and start building applications, you can use the AWS Management Console or Amazon ElastiCache APIs to launch a Cache Cluster in minutes.
By default, you are allowed to have up to a total of 20 Amazon ElastiCache Nodes per customer account. If you wish to run more Cache Nodes, please complete the ElastiCache Limit Increase Request form and we will promptly respond to your request.
Amazon ElastiCache monitors the health of your Cache Nodes and replaces them in the event of network partitioning, host hardware or software failure. However, given the ephemeral nature of a cache, Cache Node replacements begin empty (also called “cold”), and depending on your workload pattern, may take some time to be re-populated with data (also called “warming up”). Additionally, the auto-replacement functionality provided by Amazon ElastiCache is restricted to a single Availability Zone. If your application is sensitive to the failure recovery or the “warm up” time of Cache Nodes, or you want enhanced fault-tolerance for Availability Zone level failures, you may wish to deploy redundant ElastiCache Clusters in different Availability Zones.
One of the ways to manage data redundancy is to have your application apply all cache writes to Cache Nodes across these Availability Zones. If one or more of your Cache Nodes in the primary Availability Zone fails, you could direct reads to the corresponding Cache Node(s) in the secondary Availability Zone while Amazon ElastiCache restores the Cache Node(s) in the primary Availability Zone.
Your use of this service is subject to the Amazon Web Services Customer Agreement.