Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[AKIBA.AWS]Terraformでサクッと作るAWSネットワーク / Create AWS network with Terraform quickly

Ko Saiki
June 08, 2018

[AKIBA.AWS]Terraformでサクッと作るAWSネットワーク / Create AWS network with Terraform quickly

私の大好きなツールであるTerraformを使ったAWSの構築と運用について話しました。デモではTerraform Module RegistryのVPCモジュールを使用し、簡単にAWSにおけるネットワークリソースを作成しました。

Ko Saiki

June 08, 2018
Tweet

More Decks by Ko Saiki

Other Decks in Technology

Transcript

  1.   5FSSBGPSNͱ͸ w7BHSBOU 1BDLFS 7BVMUͳͲͰ༗໊ͳ)BTIJ$PSQۘ੡ͷπʔϧ wΠϯϑϥΛίʔυͰ؅ཧ͢Δ͜ͱ͕Ͱ͖Δ wόʔδϣϯ؅ཧγεςϜ (JUͱ͔ Ͱ؅ཧͰ͖Δ

    w͞·͟·ͳΫϥ΢υϓϩόΠμΛαϙʔτ wΦϑΟγϟϧ"84 "[VSF ($1 4PGU-BZFS %JHJUBM0DFBO wΧελϜϓϥάΠϯ͘͞ΒͷΫϥ΢υ wͦͷଞʹ΋͞·͟·ͳαʔϏε΍ιϑτ΢ΣΞΛαϙʔτ
  2. 71$   resource "aws_vpc" "main-vpc" { cidr_block = "10.0.0.0/16"

    enable_dns_support = true enable_dns_hostnames = true tags { Name = "main-vpc" Environment = "prod" } }
  3. αϒωοτ   resource "aws_subnet" "frontend-1a" { vpc_id = "${aws_vpc.main.id}"

    cidr_block = "10.0.1.0/24" availability_zone = "ap-northeast-1a" map_public_ip_on_launch = true tags { Name = "frontend-1a-subnet" Environment = "prod" } }
  4. 5FSSBGPSNϞδϡʔϧ   ɾ5FSSBGPSNίʔυΛϞδϡʔϧԽͰ͖Δ ɾݺͼग़͠ݩ͔ΒύϥϝʔλʔΛ౉ͯ͠؆୯ʹϦιʔεΛ࡞੒Ͱ͖Δ ɾϩʔΧϧϑΝΠϧɺ(JU)VCͳͲͷϞδϡʔϧΛࢦఆͰ͖Δ module "vpc" source =

    "modules/vpc" name = "my-vpc" cidr = "10.0.0.0/16" azs = ["ap-northeast-1a", "ap-northeast-1c"] private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] tags = { Environment = "prod" } }
  5. ϦϞʔτόοΫΤϯυઃఆྫ   terraform { backend "s3" { bucket =

    "terraform-tfstate-bucket" key = "myproject/tfstate" region = "ap-northeast-1" acl = "bucket-owner-full-control" } }
  6. εςʔτϩοΫઃఆྫ   terraform { backend "s3" { bucket =

    "terraform-tfstate-bucket" key = "myproject/tfstate" region = "ap-northeast-1" acl = "bucket-owner-full-control" dynamodb_table = "tf-statelock" } }
  7. 5SFSSBGPSNόʔδϣϯͷݻఆ   terraform { required_version = "= 0.11.7" backend

    "s3" { bucket = "terraform-tfstate-bucket" key = "myproject/tfstate" region = "ap-northeast-1" acl = "bucket-owner-full-control" dynamodb_table = "tf-statelock" } }