Initial setup of your AWS environment
By the end of this guide, you'll have a complete AWS environment running on the Golden Path all starting from an empty AWS account.
The guide is structured as 12 step-by-step pages across 6 sections (Terraform, Networking, Database, Application, CI/CD, Observability). Each page is self-contained, so you can pause between steps and pick up where you left off.
Before you begin
This guide assumes:
- You have installed the tools described in Setup your machine
- You have acquired an AWS account, and configured CLI access to the account.
AWS Usage in DIG
It is important that you have read and understood the RFC-0005 Bruk av AWS i Origo (AWS usage in Origo) document before you start setting up your infrastructure. This RFC describes the regulations for protecting user data to avoid the transfer of personal data to 3rd party countries in accordance with GDPR.
Guide overview
| Guide | Description |
|---|---|
| Setup GitHub repository | Clickops a GitHub repository |
| Initialize environment | Create common configuration |
| Remote state | Set up and initialize remote Terraform state |
| DNS | Set up DNS for your environment's subdomain |
| Networking | Set up the shared VPC for the environment |
| Load balancing | Set up a public load balancer for internet traffic |
| Databases | Set up the shared database cluster |
| GitHub OIDC | Let GitHub Actions assume AWS roles via OIDC |
| Application common | Set up shared app infrastructure (ECS cluster, ECR) |
| CI/CD common | Install the cicd-common stack for Terraform workflows |
| Terraform workflows | Add workflows for Terraform plan and apply |
| Datadog | Set up shared Datadog integration (datadog-common) |