- You will be creating a separate template for each group of resources based on lifecycle and ownership.
- Correct Answer
- You will maintaining a single template for all the resources so that all the resources are created as a single unit.
- Correct Answer
Correct Answer : A, B, D
Detailed Explaination: You should follow some best practices to create the CloudFormation templates
- Generally we want to put all the resources in a single stack.
- But as stack become larger, then it is difficult to manage.
- By grouping resources with common lifecycle and ownership would help.
- So that owners can make changes to their set of resources by using their own processes and scheduled without affecting other resources.
- Like EC2 instances hosting the website should be kept in separate stack and instances hosting database should be kept in different stack. So that each team independently can work for updating their respective resources.
- Generally speaking if you have n-tier architecture then create separate stack for each tier.
- While creating stack based on lifecycle and ownership, it is possible that resources in one stack can use resources in another stack. In this case you have to use cross-stack references to export resources from a stack so that other stacks can use them.
- You can control the permissions of CloudFormation templates using IAM such as viewing stack templates, creating and deleting stacks.
- Before creating the stacks, you need to check the quota.
- As your infrastructure become larger, your template will also grows. But you see that most of the places in your template you will see the same resource declaring. In that case you should find the common pattern in your template and create a separate dedicated template for that.
- This will help in creating nested stacks, it means stack that creates another stacks. It is the same approach when you write a code, common functionality you will define in a separate function and wherever required you will that function.
- You should not use credentials directly in your template, rather you will be using parameters to pass information while creating or updating stack.