Slide 1

Slide 1 text

re:Invent 2022 Simultaneously Deploying Infrastructure across the Globe.

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Provision multiple regions without region-specific code.

Slide 4

Slide 4 text

01 All Availability Zones, None of the paper-cuts Geography

Slide 5

Slide 5 text

AWS Regions

Slide 6

Slide 6 text

Terraform Concepts CODE EDITOR # EC2 Instance for order processing resource "aws_instance" "order_processing" { ami = var.ami_ids["orders"] instance_type = "m5.large" !!" }

Slide 7

Slide 7 text

Terraform Concepts CODE EDITOR # get list of all opted-in AWS Regions data "aws_regions" "available" { all_regions = true filter { name = "opt-in-status" values = ["opted-in"] } }

Slide 8

Slide 8 text

Terraform Concepts TERMINAL ~ >_ echo "data.aws_regions.available" | terraform console { "all_regions" = tobool(null) "filter" = toset([]) "id" = "aws" "names" = toset([ "eu-central-1", "eu-central-2", "us-east-1", "us-east-2", "us-west-1", "us-west-2", ]) }

Slide 9

Slide 9 text

02 Global Infrastructure, Local Isolation Workspace Seeding

Slide 10

Slide 10 text

Terraform Cloud Workspaces CODE EDITOR # create a Terraform Cloud Workspace for each AWS Region resource "tfe_workspace" "regions" { for_each = toset(data.aws_regions.available.names) name = each.key description = "Regional Workspace for `${each.key}`." tag_names = [ "regional", ] vcs_repo { identifier = "ksatirli/regional-deployment-example" branch = "main" oauth_token_id = data.tfe_oauth_client.client.oauth_token_id } }

Slide 11

Slide 11 text

Terraform Cloud Workspaces CODE EDITOR # create a Terraform Cloud Workspace for each AWS Region resource "tfe_workspace" "regions" { for_each = toset(data.aws_regions.available.names) !!" terraform_version = var.terraform_version !!" }

Slide 12

Slide 12 text

Regional Terraform Cloud Workspaces app.terraform.io/app/ksatirli/workspaces

Slide 13

Slide 13 text

Regional Terraform Cloud Workspaces app.terraform.io/app/ksatirli/workspaces

Slide 14

Slide 14 text

Regional Terraform Cloud Workspaces app.terraform.io/app/ksatirli/workspaces

Slide 15

Slide 15 text

03 Single Code-base, Regional Impact. Single

Slide 16

Slide 16 text

Regional Terraform Cloud Workspace app.terraform.io/app/ksatirli/workspaces/aws-ap-northeast-1

Slide 17

Slide 17 text

Regional Terraform Cloud Workspace app.terraform.io/app/ksatirli/workspaces/aws-ap-northeast-1

Slide 18

Slide 18 text

Regional Terraform Cloud Workspace app.terraform.io/app/ksatirli/workspaces/aws-ap-northeast-1

Slide 19

Slide 19 text

Regional Terraform Cloud Workspace app.terraform.io/app/ksatirli/workspaces/aws-ap-northeast-1

Slide 20

Slide 20 text

Regional Terraform Cloud Workspace app.terraform.io/app/ksatirli/workspaces/aws-ap-northeast-1

Slide 21

Slide 21 text

Regional Terraform Cloud Workspace aws-ap-northeast-1-ueco.s3.amazonaws.com/index.html

Slide 22

Slide 22 text

Sr. Developer Advocate II at HashiCorp he / him @ksatirli Kerim Satirli

Slide 23

Slide 23 text

Thank You