If you're new to AWS, it can be a little daunting to determine which database service is the right option for your solution. This is the first course in a two-part series on database fundamentals for AWS, which will help you make the right decision when choosing an AWS database service.
This course covers Amazon RDS, Amazon DynamoDB, Amazon ElastiCache, and Amazon Neptune. As well as getting a theoretical understanding of these, you will also watch guided demonstrations from the AWS platform showing you how to use each database service.
If you have any feedback relating to this course, feel free to share your thoughts with us at support@cloudacademy.com. The second course in this two-part series covers Amazon Redshift, Amazon Quantum Ledger Database, Amazon DocumentDB, and Amazon Keyspaces. You can find that course here.
Learning Objectives
- Obtain a solid understanding of the following Amazon database services: Amazon RDS, DynamoDB, ElastiCache, and Neptune
- Create an Amazon RDS database
- Create a DynamoDB database
- Create an ElastiCache cluster
- Create an Amazon Neptune database
Intended Audience
- Individuals responsible for designing, operating, and optimizing AWS database solutions
- Anyone preparing to take the AWS Certified Database Specialty exam
Prerequisites
To get the most out of this course, you should have a basic understanding of database architectures and the AWS global infrastructure. For more information on this, please see our existing blog post here. You should also have a general understanding of the principles behind different EC2 Instance families.
Hello and welcome to this lecture, which is going to be a demonstration on how to create an Amazon ElastiCache cluster. So let's get straight into it. So I'm at the AWS management console, and you can find ElastiCache under the database category down here. So if we select on ElastiCache, we're then presented with this screen if you haven't got any ElastiCache clusters already, which I haven't.
So to get started, simply click on the get started now button. And now we're in the configuration page of creating our Amazon ElastiCache cluster. So the first option we have is to choose our cluster engine, which is either Redis or Memcached.
Now, if you remember back to the lecture we just covered, Redis generally offers a more robust set of features to that of Memcached, whereas Memcached is recognized for its simplicity and speed of performance. And for this demonstration, I'm just gonna stick with the Redis cluster engine. If you want to enable cluster mode, we can do so here through the tick box. With it enabled, we can have up to 90 shards per cluster. For this demonstration, I'm just going to leave that unchecked.
Now, if we go down to the Redis settings, we can enter our name here. Just put the name of demo. Same for the description. Then we have our engine version compatibility, which is essentially the version of Redis that you'll install on your nodes. Just leave that as the default. The port that Redis will use. This is the port that the node will accept connections from.
Here we have a parameter group, and much like RDS, this just contains configurational settings about your engine. So if you have a different parameter group that you'd like to use for your cluster, then you can select it here. I'm just gonna use the default.
Scroll down to the node type. If we have a look at these, now, these are all the different nodes that you can have within your cluster. So the different sizes offering different memory and network performance, and we have different instance families along the top here, depending on what your requirements are. So I'm just gonna leave that as the default.
You can then select the number of replicas that you'd like to use and also if you'd like to configure multi-availability zone, which is used for high availability, and also as an automatic failover should your primary node fail. For this demonstration, I'm going to uncheck multi-AZ.
Now if we scroll down to the advanced Redis settings, here we can create a subnet group. Now, this subnet group is essentially used to define where your nodes can reside. So let's create a new subnet group. So I'll just call this Subnet1. And the same for the description. And then we can select the VPC that we want to use for our ElastiCache cluster.
So let's just select the top one here, and then we can select which subnets that we want to include in our subnet group. So I'm just going to select two subnets. We can then select our availability zone placement. We can either have no preference, or if we have specific zones that we'd like to place these, to place our nodes in, then we can do so here. I'm gonna select no preference.
Down to security. Down here we can add any security groups which will control access to our clusters, and so you can add any security groups in that you need. If you want to apply encryption at rest, simply tick the box, and you can either use the default encryption key, which is managed by ElastiCache, or if you have your own CMK, then you can select it from here, for example.
So I have my own KMS key, which is my CMK. So if I wanted to, then I can select that own customer managed CMK. For this demonstration, I'm just going to select the default encryption key. And similarly, if you want encryption in transit, then you can do so by enabling the tick box there.
Now, if you want to import any data to your cluster from the creation, then you can select an S3 folder that might contain an RDS backup that will populate your cluster with data. And then we have our backups. If you want to enable automatic backups, simply tick the check box and then select the number of days for your retention period and if you have a backup window and what time that would be if you want one. I'm gonna select no preference.
And then finally, maintenance. If there's any maintenance to take place, you can specify a maintenance window, again with day and time and duration. For this demonstration, I'm just gonna select no preference, and you can either have a topic for any notifications with regards to your, with regards to any maintenance carried out. So you can select one of your existing SNS topics or disable notifications. Then once you're happy with the configuration, simply click create. As you can see, the status is creating, and that will just take a couple of minutes to run through.
Okay, so that took a few minutes to come up, but we can now see the status is available. And if we click on the name of the cluster, then we can see a number of different nodes that have been created. We have the primary and two replicas. If we look at the description, then we can see all of the information about this cluster. For example, the primary endpoint, the reader endpoint, the engine that it's running, the availability zones, how many nodes, etc, and also the security groups and parameter groups, et cetera. Basically all the configuration information that we went through in its creation. And that's it. And that's how you set up an ElastiCache cluster.
Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.
To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.
Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.
He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.
In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.
Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.