[root@sssssss scenario02]# [root@sssssss scenario02]# more *.tf :::::::::::::: main.tf :::::::::::::: # VPC > User scenario > Scenario 2. Public and Private Subnet # https://docs.ncloud.com/ko/networking/vpc/vpc_userscenario2.html provider "ncloud" { support_vpc = true region = "KR" access_key = var.access_key secret_key = var.secret_key } resource "ncloud_login_key" "key_scn_02" { key_name = var.name_scn02 } # VPC resource "ncloud_vpc" "vpc_scn_02" { name = "${var.name_scn02}-vpc" #name = var.name_scn02 ipv4_cidr_block = "10.0.0.0/20" } :::::::::::::: nacl.tf :::::::::::::: # Network ACL resource "ncloud_network_acl" "network_acl_02_public" { vpc_no = ncloud_vpc.vpc_scn_02.id name = "${var.name_scn02}-public" } resource "ncloud_network_acl" "network_acl_02_private" { vpc_no = ncloud_vpc.vpc_scn_02.id name = "${var.name_scn02}-private" } :::::::::::::: natgw.tf :::::::::::::: /*# Public IP resource "ncloud_public_ip" "public_ip_scn_02" { server_instance_no = ncloud_server.server_scn_02_public.id description = "for ${var.name_scn02}" } */ # NAT Gateway resource "ncloud_nat_gateway" "nat_gateway_scn_02" { vpc_no = ncloud_vpc.vpc_scn_02.id subnet_no = ncloud_subnet.subnet_scn_02_public_natgw.id zone = "KR-2" # name = var.name_scn02 name = "${var.name_scn02}-nat1" } # Route Table resource "ncloud_route" "route_scn_02_nat" { route_table_no = ncloud_vpc.vpc_scn_02.default_private_route_table_no destination_cidr_block = "0.0.0.0/0" target_type = "NATGW" // NATGW (NAT Gateway) | VPCPEERING (VPC Peering) | VGW (Virtual Private Gateway). target_name = ncloud_nat_gateway.nat_gateway_scn_02.name target_no = ncloud_nat_gateway.nat_gateway_scn_02.id } :::::::::::::: subnet.tf :::::::::::::: # Subnet #pri1 resource "ncloud_subnet" "subnet_scn_02_private" { name = "${var.name_scn02}-pri1" vpc_no = ncloud_vpc.vpc_scn_02.id subnet = cidrsubnet(ncloud_vpc.vpc_scn_02.ipv4_cidr_block, 2, 0) // "10.0.0.0/22" zone = "KR-2" network_acl_no = ncloud_network_acl.network_acl_02_private.id subnet_type = "PRIVATE" // PRIVATE(Private) } #pub1 resource "ncloud_subnet" "subnet_scn_02_public" { name = "${var.name_scn02}-pub1" vpc_no = ncloud_vpc.vpc_scn_02.id subnet = cidrsubnet(ncloud_vpc.vpc_scn_02.ipv4_cidr_block, 4, 8) // "10.0.8.0/24" zone = "KR-2" network_acl_no = ncloud_network_acl.network_acl_02_public.id subnet_type = "PUBLIC" // PUBLIC(Public) } #db1 resource "ncloud_subnet" "subnet_scn_02_db1" { name = "${var.name_scn02}-db1" vpc_no = ncloud_vpc.vpc_scn_02.id subnet = cidrsubnet(ncloud_vpc.vpc_scn_02.ipv4_cidr_block, 4, 10) // "10.0.10.0/24" zone = "KR-2" network_acl_no = ncloud_network_acl.network_acl_02_private.id subnet_type = "PRIVATE" // PUBLIC(Public) } #natgw1 resource "ncloud_subnet" "subnet_scn_02_public_natgw" { name = "${var.name_scn02}-nat1" vpc_no = ncloud_vpc.vpc_scn_02.id subnet = cidrsubnet(ncloud_vpc.vpc_scn_02.ipv4_cidr_block, 5,24) // "10.0.12.0/25" zone = "KR-2" network_acl_no = ncloud_network_acl.network_acl_02_public.id subnet_type = "PUBLIC" usage_type = "NATGW" } #lb1 resource "ncloud_subnet" "subnet_scn_02_lb1" { name = "${var.name_scn02}-lb1" vpc_no = ncloud_vpc.vpc_scn_02.id subnet = cidrsubnet(ncloud_vpc.vpc_scn_02.ipv4_cidr_block, 5,28) // "10.0.14.0/25" zone = "KR-2" network_acl_no = ncloud_network_acl.network_acl_02_private.id subnet_type = "PRIVATE" usage_type = "LOADB" // PRIVATE(Private) } :::::::::::::: variables.tf :::::::::::::: variable name_scn02 { default = "game3" } variable client_ip { default = "223.130.137.181" } variable access_key { default = "NWGvuYugiGef" } variable secret_key { default = "vouM5wY7as" } :::::::::::::: versions.tf :::::::::::::: terraform { required_providers { ncloud = { source = "navercloudplatform/ncloud" } } required_version = ">= 0.13" } [root@sssssss scenario02]#