Team workflow example
Working with infrastructure code is very similar to working with software code. Countless books and methods exist on the subject and approaches are usually very opinionated.
A simple workflow I propose to use here for our infrastructure-as-code work is based on what's called the GitHub Flow (https://guides.github.com/introduction/flow/):

Getting ready
To step through this recipe, you will need the following:
An account on some Git hosting (self-hosted or commercial)
A working Terraform installation
An AWS account with an SSH key configured in Terraform (refer to the Chapter 2, Provisioning IaaS with Terraform recipes)
An Internet connection
How to do it…
Start by creating a new repository for use with your team. Use any service that works for you: GitLab, GitHub, BitBucket, and others. This example uses GitHub.
A simple Git repository
Create a new repository on GitHub:
Note
We might be storing secrets in that repository, such as SSH private keys or passwords. It's probably a safer...