This is a demo repo that accompanies the following blog post
If you have an existing AWS Organization managed with terraform you will need to add
ram.amazonaws.com
as a aws_service_access_principals
in your aws_organizations_organization
resource, alternatively
you can enable the RAM integration using the aws cli aws ram enable-sharing-with-aws-organization
I recommend using tfenv to manage multiple terraform versions, on macOS you can run
brew install tfenv
to install. You can then run tfenv install
which will intall the correct terraform version defined
in .terraform-version
Alternatively this should run with any recent version of terraform.
- Deploy the organization or modify it to suit your needs, or skip this step entirely as you have a suitable organization in place
- Deploy the shared module and provide the arn of the development Organizational Unit
- Deploy the developer_account module which deploy an EC2 instance in the shared subnet, you must provide a subnet id. The shared module will output the subnet IDs of the shared subnets.
Further details are provided in each module readme.