Navigating AWS Docs to configure CloudFormation resources
If you work with Amazon Web Services, chances are that you’ve wrestled with its documentation. There are so many services, features, and options, that finding exactly the information you need can be quite challenging. However, understanding where and when to look is critical to not only take your AWS knowledge and skills to the next level, but also to improve your odds of passing the AWS certification exams.
One of our students asked in the Linux Academy community how they could modify one of our CloudFormation template examples from our AWS DevOps Professional certification preparation course. To answer this student’s question, I created a short video tutorial which walks through how to find this information. This is a written version of that video tutorial, so feel free to check out the video if you’d rather follow along that way.
The specific question from our student asked how to change the name of the Classic Elastic Load Balancer in this resource block:
As you can see, there is nothing which currently defines a name for this resource. So how does CloudFormation know what to name the resource, and can we change it?
The answer is yes, we can, by looking it up in the AWS CloudFormation documentation.
Once you click on that link above, expand the “Template Reference” section in the left navigation bar and then expand the “AWS Resource Types.”
There, you will find a long list of AWS resource types. This is where we can find what we are looking for. If you go back to the AWS CloudFormation template we were looking at, we can spot a “Type”: “AWS::ElasticLoadBalancing::LoadBalancer”
If we search for that under the resource types in the documentation (using ctrl + F or cmd + F), we will find the page we are looking for.
Each resource type supported by CloudFormation has its own resource page in the documentation, because this is where AWS tells us which properties are supported, what syntax should be used, and what values are supported for those properties.
If we look under “Syntax” or “Properties” we will find the LoadBalancerName property, which is exactly what our student was looking for.
The documentation then takes it a step further and tells you:
- Which values are supported
- What happens if you don’t specify a name (answer: one is automatically generated using the resource’s unique physical ID)
- Whether it is a required property (answer: no, which is why we didn’t have it in the original template)
- What happens if you try to update this property through CloudFormation once the resource is created
There is also a lot more information on that page which we are not covering here, so go ahead and spend a few minutes going through it. After that, I highly recommend looking at other resource types and also checking out other pages in the CloudFormation documentation. Learning how to navigate the CloudFormation docs will help you master the service faster, and it will also make you more comfortable with the AWS documentation which will be useful when you have to learn other services.