Setting up ElastiCache
To use the ElastiCache web service, follow these steps.
Topics
Sign up for an AWS account
If you do not have an AWS account, complete the following steps to create one.
To sign up for an AWS account
Follow the online instructions.
Part of the sign-up procedure involves receiving a phone call and entering a verification code on the phone keypad.
When you sign up for an AWS account, an AWS account root user is created. The root user has access to all AWS services and resources in the account. As a security best practice, assign administrative access to a user, and use only the root user to perform tasks that require root user access.
AWS sends you a confirmation email after the sign-up process is
complete. At any time, you can view your current account activity and manage your account by
going to https://aws.amazon.com/
Create a user with administrative access
After you sign up for an AWS account, secure your AWS account root user, enable AWS IAM Identity Center, and create an administrative user so that you don't use the root user for everyday tasks.
Secure your AWS account root user
-
Sign in to the AWS Management Console
as the account owner by choosing Root user and entering your AWS account email address. On the next page, enter your password. For help signing in by using root user, see Signing in as the root user in the AWS Sign-In User Guide.
-
Turn on multi-factor authentication (MFA) for your root user.
For instructions, see Enable a virtual MFA device for your AWS account root user (console) in the IAM User Guide.
Create a user with administrative access
-
Enable IAM Identity Center.
For instructions, see Enabling AWS IAM Identity Center in the AWS IAM Identity Center User Guide.
-
In IAM Identity Center, grant administrative access to a user.
For a tutorial about using the IAM Identity Center directory as your identity source, see Configure user access with the default IAM Identity Center directory in the AWS IAM Identity Center User Guide.
Sign in as the user with administrative access
-
To sign in with your IAM Identity Center user, use the sign-in URL that was sent to your email address when you created the IAM Identity Center user.
For help signing in using an IAM Identity Center user, see Signing in to the AWS access portal in the AWS Sign-In User Guide.
Assign access to additional users
-
In IAM Identity Center, create a permission set that follows the best practice of applying least-privilege permissions.
For instructions, see Create a permission set in the AWS IAM Identity Center User Guide.
-
Assign users to a group, and then assign single sign-on access to the group.
For instructions, see Add groups in the AWS IAM Identity Center User Guide.
Grant programmatic access
Users need programmatic access if they want to interact with AWS outside of the AWS Management Console. The way to grant programmatic access depends on the type of user that's accessing AWS.
To grant users programmatic access, choose one of the following options.
Which user needs programmatic access? | To | By |
---|---|---|
Workforce identity (Users managed in IAM Identity Center) |
Use temporary credentials to sign programmatic requests to the AWS CLI, AWS SDKs, or AWS APIs. |
Following the instructions for the interface that you want to use.
|
IAM | Use temporary credentials to sign programmatic requests to the AWS CLI, AWS SDKs, or AWS APIs. | Following the instructions in Using temporary credentials with AWS resources in the IAM User Guide. |
IAM | (Not recommended) Use long-term credentials to sign programmatic requests to the AWS CLI, AWS SDKs, or AWS APIs. |
Following the instructions for the interface that you want to use.
|
Related topics:
What is IAM in the IAM User Guide.
AWS Security Credentials in AWS General Reference.
Set up your permissions (new ElastiCache users only)
To provide access, add permissions to your users, groups, or roles:
-
Users and groups in AWS IAM Identity Center:
Create a permission set. Follow the instructions in Create a permission set in the AWS IAM Identity Center User Guide.
-
Users managed in IAM through an identity provider:
Create a role for identity federation. Follow the instructions in Create a role for a third-party identity provider (federation) in the IAM User Guide.
-
IAM users:
-
Create a role that your user can assume. Follow the instructions in Create a role for an IAM user in the IAM User Guide.
-
(Not recommended) Attach a policy directly to a user or add a user to a user group. Follow the instructions in Adding permissions to a user (console) in the IAM User Guide.
-
Amazon ElastiCache creates and uses service-linked roles to provision resources and access other
AWS resources and services on your behalf. For ElastiCache to create a service-linked role
for you, use the AWS-managed policy named AmazonElastiCacheFullAccess
. This
role comes preprovisioned with permission that the service requires to create a
service-linked role on your behalf.
You might decide not to use the default policy and instead to use a custom-managed policy.
In this case, make sure that you have either permissions to call
iam:createServiceLinkedRole
or that you have created the ElastiCache
service-linked role.
For more information, see the following:
Set up EC2
You will need to setup an EC2 instance from which you will connect to your cache.
If you don’t already have an EC2 instance, learn how to setup an EC2 instance here: Getting started with EC2.
Your EC2 instance must be in the same VPC and have the same security group settings as your cache. By default, Amazon ElastiCache creates a cache in your default VPC and uses the default security group. To follow this tutorial, ensure that your EC2 instance is in the default VPC and has the default security group.
Grant network access from an Amazon VPC security group to your cache
ElastiCache self-designed clusters use port 6379 for Valkey and Redis OSS commands, and ElastiCache serverless uses both port 6379 and port 6380. In order to successfully connect and execute Valkey or Redis OSS commands from your EC2 instance, your security group must allow access to these ports as needed.
ElastiCache (Memcached) uses the 11211 and 11212 ports to accept Memcached commands. In order to successfully connect and execute Memcached commands from your EC2 instance, your security group must allow access to these ports.
Sign in to the AWS Command Line Interface and open the Amazon EC2 console.
In the navigation pane, under Network & Security, choose Security Groups.
From the list of security groups, choose the security group for your Amazon VPC. Unless you created a security group for ElastiCache use, this security group will be named default.
Choose the Inbound tab, and then:
-
Choose Edit.
-
Choose Add rule.
-
In the Type column, choose Custom TCP rule.
-
If using Valkey or Redis OSS, then in the Port range box, type
6379
.If using Memcached, then in the Port range box, type
11211
. -
In the Source box, choose Anywhere which has the port range (0.0.0.0/0) so that any Amazon EC2 instance that you launch within your Amazon VPC can connect to your cache.
-
If you are using ElastiCache serverless, add another rule by choosing Add rule.
-
In the Type column, choose Custom TCP rule.
-
If using ElastiCache (Redis OSS), then in the Port rangebox, type
6380
.If using ElastiCache (Memcached), then in the Port rangebox, type
11212
. -
In the Source box, choose Anywhere which has the port range (0.0.0.0/0) so that any Amazon EC2 instance that you launch within your Amazon VPC can connect to your cache.
-
Choose Save
-
Download and set up command line access
Download and install the valkey-cli utility.
If you use ElastiCache with Valkey, then you might find the valkey-cli utility useful. If you're using ElastiCache (Redis OSS) with redis-cli, consider switching to valkey-cli as it works for Redis OSS as well.
Connect to your Amazon EC2 instance using the connection utility of your choice. For instructions on how to connect to an Amazon EC2 instance, see the Amazon EC2 Getting Started Guide.
Download and install valkey-cli utility by running the appropriate command for your setup.
Amazon Linux 2023
sudo yum install redis6 -y
Amazon Linux 2
sudo amazon-linux-extras install epel -y sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel -y wget https://github.com/valkey-io/valkey/archive/refs/tags/7.2.6.tar.gz tar xvzf valkey-7.2.6.tar.gz cd valkey-7.2.6 make BUILD_TLS=yes
Note
-
When you install the redis6 package, it installs redis6-cli with default encryption support.
-
It is important to have build support for TLS when installing valkey-cli or redis-cli. ElastiCache Serverless is only accessible when TLS is enabled.
-
If you are connecting to a cluster that isn't encrypted, you don't need the
Build_TLS=yes
option.