AWS Outposts is a fully managed service that extends AWS infrastructure, AWS services, APIs, and tools to virtually any data center, co-location space, or on-premises facility for a truly consistent hybrid experience. It’s designed to meet the needs of customers who have workloads with low latency, local data processing, or data residency requirements. The Outposts team launched AWS Outposts back in 2019 and since then, many customers have ordered and successfully deployed Outposts on premises.
Amazon ElastiCache on Outposts
We heard from our customers that you want to take advantage of a low latency, high throughput datastore on Outposts. I’m excited to announce that you can now create an ElastiCache datastore on Outposts with Amazon ElastiCache. With this launch, you can create clusters for both Redis and Memcached engines on the loved M5 and R5 cache instance families. With ElastiCache on Outposts, you get your sub-millisecond latencies on premises, making this perfect solution for your on-premises applications.
Creating a cache cluster on Outposts
You can create a cache cluster the following ways:
- The ElastiCache console
- The AWS Command Line Interface (AWS CLI):
create-cache-cluster/create-replication-group
- AWS CloudFormation:
AWS::ElastiCache::CacheCluster/AWS::ElastiCache::ReplicationGroup
In this post, I use the console to create an ElastiCache for Redis cluster on Outposts.
- On the ElastiCache console, in the navigation pane, choose Redis.
- Choose Create.
- For Cluster engine, select Redis.
- For Location, select On-Premise.
- For Name, enter
RedisOnOutposts
. - For Engine version compatibility, enter
5.0.6
. - For Node type, choose cache.r5.large (13.07 GiB).
- For Number of replicas, enter
2
.
Replicas are great to reduce read latency and increase the resiliency of your cluster.
- In the Advanced Redis settings page, you can either use an existing subnet group on the Outpost or create a new one. For this post, I choose Create new.
- For Name, enter
OutpostSubnet1
. - For VPC ID, choose the VPC ID for your Outpost.
- For Subnets, choose your Subnet ID.
The subnet ID has the Outpost ID in parentheses.
- Choose Create.
I can verify that ElastiCache is creating my Redis cluster.
When the cluster is created, I can choose the arrow next to the instance name, locate my reader endpoint, and start using my newly created Redis cluster.
Considerations
You should know the following about your new ElastiCache cluster on Outposts:
- Operations and functions – Much of what you already know about ElastiCache works as expected and is applicable to ElastiCache on Outposts. You can rename, reboot, stop, start, and tag cache instances. You can scale the instance up and down based on available capacity on your Outpost. You can’t create Multi-AZ clusters, but you can create replicas on your Outpost.
- Backup and restore – Automated backups (snapshots) work as expected, and are stored in the AWS Region. You can use them to create a fresh cache instance in the cloud or in any of your Outposts. Manual snapshots also work, and are stored in the AWS Region. You can use them to create a fresh cache instance on the same Outpost. We will add support for on-premises storage of snapshots in the near future.
- Pricing – ElastiCache on Outposts pricing is based on a management fee that is charged on an hourly basis for each database that is managed. For more information, see Amazon ElastiCache pricing.
Conclusion
In this post, we discussed how to create an ElastiCache for Redis cluster on Outposts to get sub-millisecond latencies on premises, making this perfect solution for your on-premises applications. Get started by signing in to your AWS account and creating your first ElastiCache on Outposts cluster.
About the author
Guy Michaeli is Technical Product Manager with the ElastiCache team in AWS. Guy has been designing, implementing and leading innovative products using ML and analytics for over 18 years.