AWS Zone Mapping
If you are looking to squeeze every drop of performance out of your Redise Cloud (RC) Database, then matching the AWS availability zones of your application to your RC database may be of interest. First you should know why this process matters and if you need to bother with it at all.
Why do Zone Mapping?
As you probable know, AWS operates regions across the world and Availability Zones (AZ) inside each region where they host the Amazon AWS cloud infrastructure.
The Availability Zones may be named the same for different AWS accounts, but under the hood are actually resides on different infrastructure. This can cause latency overhead when your app and your database are not located on the same physical infrastructure. Since your app runs under your AWS account and your RC databases is under Redis Labs’ AWS account, you may suffer from this issue.
To overcome this issue, we came up with an automatic process that can map AZ that are designated to your AWS account and cross reference them with our AZ. This will allow us to make sure your app and database will be co-located on the same physical AZ and by that reducing unnecessary latency.
How to MAP Zones
- Log in to your RC account
- Navigate to Settings page from the menu and then the Account tab
- Press the Map your AWS Zones button
- Enter the Access Key ID and Secret Access Key for an unprivileged AWS user.
- Press on Map Zones button.
Allow the process a few minutes to complete as it maps the availability zones. Once complete, you will see this:
When the process is complete, the next time you go to create a new subscription, the drop down for “Cloud” will have the zone letter in them.
For existing subscriptions in RC, you will now see the Availability Zone they are using. If you desire to remove the latency discussed before, you must
- Create a new subscription in the correct AZ
- Create a new database
- Migrate your data over to the new database.
While simple, this will cause some downtime. If downtime is not an option, please contact support for further assistance.
Unprivileged user creation
RC requires an AWS IAM user to perform the zone mapping as. It is recommended to create a new and restricted account for security reasons. To do this:
- Create a new user in your AWS account where your application is hosted.
- Create access keys for that user.
- Give the user this IAM policy.
If you are unfamiliar on how to create a new user in AWS, please see their documentation on the topic.