Dette repoet er laget for å demonstrere hvordan man kan benytte Terraform å spinne opp litt forskjellig infrastruktur.
- Et VPC
- Valgfritt antall VM'er som kjører nginxdemos/hello eksponert på port 8080
- En brannmur med enkle regler definert i et eget CSV-format.
- En lastbalanserer
- Dynamisk provisjonering av et TLS-sertifikat (Let's Encrypt) via Terraform
- Konfigurering av nevnte sertifikat mot skyleverandør og bruk av dette på lastbalanserer (TLS-terminering)
- Enkel konfigurasjon av lastbalanserer for å ta imot trafikk på port 443 og forwarde til friske apper (VM'er) som helsesjekkes
- Round robin, ingen stickiness
- Logisk gruppering i kontrollpanelet til skyleverandøren
For å kunne kjøre dette på egen maskin kreves følgende:
- Installert Terraform
- En konto på DigitalOcean med et valgfritt domene satt opp (NS), med generert API-nøkkel. Har du ikke konto kan du benytte denne lenken som gir deg $200 (og meg $25) i credits
- Konfigurasjon:
- Satt følgende miljøvariabler:
# Samme verdi skal tildeles 2 variabler DIGITALOCEAN_TOKEN=dop_v1_xxxxxxxxxxxx DO_AUTH_TOKEN=dop_v1_xxxxxxxxxxxx
- Opprette en variabelfil (
mittmiljo.tfvars
) eller en variabelfil som lastes automatisk (mittmiljo.auto.tfvars
) hvor du konfigurer oppsettet ditt. Eksempelvis:dns_domain = "mitt-domene-i-digitalocean.no" region = "ams3" name = "iac-er-moro" vm_count = 2 network_space = "10.14.0.0/16"
- Satt følgende miljøvariabler:
- Kjøre Terraform med med følgende kommandoer:
terraform init
– gjøres første gangen for å laste ned providereterraform apply
– gir deg en plan og ber deg ta stilling til om du vil ha endringene utført