Posts in this series:
- Introduction to Redis Enterprise Cluster (RLEC)
- Getting started with RLEC – How to Install and Setup
- Getting started with RLEC – Installing on AWS Cloud
- Getting started with RLEC – How to Create and Configure a Database
- Getting Started with RLEC – Viewing Graphs & Metrics
In the previous posts in the series I gave an overview of RLEC and explained how to install and set it up. In this post I’ll go over some of the considerations you need to be aware of when you install RLEC on AWS cloud.
There are two options for running RLEC on AWS:
- Use one of the preconfigured AMIs from the download page – this is the quickest and simplest way to get started and saves you the need to run the installation script.
- Launch an AWS instance with one of the OSs supported by RLEC, download the relevant installation package and run the install script as described in the previous post.
Regardless of which of the above options you choose, you must still take all the following points into consideration:
- Choose an instance that has enough memory and disk space to satisfy RLEC Hardware & software requirements.
- In order to have your databases’ data persist after cloud instance restarts, you must use external storage. To achieve this attach an EBS volume to the instance and configure the persistent storage path to this volume when setting up RLEC on that instance. Note that after installing the RLEC package on the instance and before running through the setup process, you must give the group redis permissions to the EBS volume by running the following command from the OS command-line-interface (CLI): chown redis:redis /[ebs folder name].
- When defining the Security Group for the instance you need to make sure all the following ports and port ranges are configured appropriately:
- Define a custom TCP rule for port 8443 to allow browser access to the RLEC management UI. In order to open the management UI in the browser you need to use https protocol and connect to port 8443, i.e. https://[DNS name or IP]:8443.
- Depending on what cluster naming option you use (refer to How to set the cluster name (FQDN)):
- If you are using the DNS resolving option, define a DNS UDP rule for port 53 to allow access to the databases’ endpoints using DNS resolving mechanism.
- Alternatively, if you are using the mDNS option, define a custom UDP rule for port 5353 to allow mDNS access.
- If you would like to create a cluster with multiple nodes, add an All TCP rule for all ports, 0 – 65535, to the security group, and add it to all the instances that are part of the cluster. This will ensure that all the nodes are able to communicate with each other. If you would not like to open all TCP ports and instead define specific ports and ports ranges, refer to Machine ports configuration for an exhaustive list of ports being used.
- If you would like to have SSH access to the instance you need to define an SSH TCP rule for port 22 to allow SSH access to the instance.
- When opening the management UI from the browser, if you are not using the cluster name (refer to How to set the cluster name (FQDN)) as the address to connect to the UI, but rather using the IP of the instance, then you need to make sure to use the public IP address with the following structure: https://[public IP of instance]:8443.
- When you are adding additional nodes to the cluster (refer to Joining a new node to a cluster) if you are not using the cluster name but rather using the IP option, you should provide the private IP address of one of the instances that is already part of the cluster.
That pretty much sums everything and by minding these considerations your RLEC deployment on AWS should be up and running in no time.
Additional resources to refer to related to this topic are:
If you would like to learn more about RLEC and how to enable more advanced functionalities please refer to the documentation that can be found here: https://redis.com/redis-enterprise-documentation/overview
If you have any feedback or questions please don’t hesitate to reach out to me at: firstname.lastname@example.org.