[root@com2 ~]# more vpc-mul-net-2025-08-21-3.txt :::::::::::::: main2.tf :::::::::::::: resource "ncloud_subnet" "pri_subnet2" { vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 3, 4) zone = "KR-2" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PRIVATE" name = var.pribate_subnet2 usage_type = "GEN" } resource "ncloud_subnet" "pub_subnet2" { vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 4, 10) zone = "KR-2" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PUBLIC" name = var.public_subnet2 usage_type = "GEN" } resource "ncloud_subnet" "pri_lb_subnet2" { vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 4, 14) zone = "KR-2" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PRIVATE" name = var.private_subnet_lb2 usage_type = "LOADB" } resource "ncloud_subnet" "subnet_pub_lb2" { vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 4, 13) zone = "KR-2" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PUBLIC" name = var.public_subnet_lb2 usage_type = "LOADB" } resource "ncloud_subnet" "subnet_pri-db2" { name = var.private_subnet_db2 vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 4 , 11) zone = "KR-2" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PRIVATE" // PUBLIC(Public) | PRIVATE(Private) } resource "ncloud_subnet" "subnet_pub-nat2" { name = var.public_subnet_nat2 vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 4 , 12) zone = "KR-2" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PUBLIC" usage_type = "NATGW" // PUBLIC(Public) | PRIVATE(Private) } :::::::::::::: main.tf :::::::::::::: provider "ncloud" { support_vpc = true region = "KR" access_key = var.access_key secret_key = var.secret_key } resource "ncloud_vpc" "vpc" { name = var.server_name ipv4_cidr_block = "10.0.0.0/20" } resource "ncloud_subnet" "pri_subnet1" { vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 3, 0) zone = "KR-1" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PRIVATE" name = var.pribate_subnet1 usage_type = "GEN" } resource "ncloud_subnet" "pub_subnet1" { vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 4, 2) zone = "KR-1" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PUBLIC" name = var.public_subnet1 usage_type = "GEN" } resource "ncloud_subnet" "pri_lb_subnet1" { vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 4, 6) zone = "KR-1" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PRIVATE" name = var.private_subnet_lb1 usage_type = "LOADB" } resource "ncloud_subnet" "subnet_pub_ls1" { vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 4, 5) zone = "KR-1" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PUBLIC" name = var.public_subnet_lb1 usage_type = "LOADB" } resource "ncloud_subnet" "subnet_pri-db1" { name = var.private_subnet_db1 vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 4 , 3) zone = "KR-1" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PRIVATE" // PUBLIC(Public) | PRIVATE(Private) } resource "ncloud_subnet" "subnet_pub-nat1" { name = var.public_subnet_nat1 vpc_no = ncloud_vpc.vpc.id subnet = cidrsubnet(ncloud_vpc.vpc.ipv4_cidr_block, 4 , 4) zone = "KR-1" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PUBLIC" usage_type = "NATGW" // PUBLIC(Public) | PRIVATE(Private) } :::::::::::::: nat.tf :::::::::::::: #db용 RT 생성 resource "ncloud_route_table" "route_table_pri1" { name = var.private_db_rt1 vpc_no = ncloud_vpc.vpc.id supported_subnet_type = "PRIVATE" } #db rt와 subnet 연결 resource "ncloud_route_table_association" "subnet_pri-db1" { route_table_no = ncloud_route_table.route_table_pri1.id subnet_no = ncloud_subnet.subnet_pri-db1.id } #kr-1 pri전용 라우팅 테이블 생성 resource "ncloud_route_table" "route_table_pri-kr1" { name = "pri-rt-kr1" vpc_no = ncloud_vpc.vpc.id supported_subnet_type = "PRIVATE" } resource "ncloud_route_table_association" "subnet_pri-kr1" { route_table_no = ncloud_route_table.route_table_pri-kr1.id subnet_no = ncloud_subnet.pri_subnet1.id } resource "ncloud_route_table_association" "lb-subnet_pri-kr11" { route_table_no = ncloud_route_table.route_table_pri-kr1.id subnet_no = ncloud_subnet.pri_lb_subnet1.id } # NAT Gateway resource "ncloud_nat_gateway" "nat_gateway_scn_01" { vpc_no = ncloud_vpc.vpc.id subnet_no = ncloud_subnet.subnet_pub-nat1.id zone = "KR-1" name = var.public_not_gateway1 } # Route Table resource "ncloud_route" "route_scn_01_nat" { route_table_no = ncloud_route_table.route_table_pri-kr1.id destination_cidr_block = "0.0.0.0/0" target_type = "NATGW" target_name = ncloud_nat_gateway.nat_gateway_scn_01.name target_no = ncloud_nat_gateway.nat_gateway_scn_01.id } #db2 rt와 subnet 연결 resource "ncloud_route_table_association" "subnet_pri-db2" { route_table_no = ncloud_route_table.route_table_pri1.id subnet_no = ncloud_subnet.subnet_pri-db2.id } # NAT Gateway resource "ncloud_nat_gateway" "nat_gateway_scn_02" { vpc_no = ncloud_vpc.vpc.id subnet_no = ncloud_subnet.subnet_pub-nat2.id zone = "KR-2" name = var.public_not_gateway2 } # Route Table resource "ncloud_route" "route_scn_02_nat" { route_table_no = ncloud_vpc.vpc.default_private_route_table_no destination_cidr_block = "0.0.0.0/0" target_type = "NATGW" target_name = ncloud_nat_gateway.nat_gateway_scn_02.name target_no = ncloud_nat_gateway.nat_gateway_scn_02.id } :::::::::::::: var.tf :::::::::::::: variable client_ip { default = "211.188.53.77" } variable access_key { default = "ncp_iam_BPAMKvatA" } variable secret_key { default = "ncp_iam_BPKMKxqdV" } variable "server_name" { type = string default = "agame-dev-vpc" } variable "pribate_subnet1" { type = string default = "pri1" } variable "public_subnet1" { type = string default = "pub1" } variable "private_subnet_db1" { type = string default = "pri-db1" } variable "public_subnet_nat1" { type = string default = "pub-nat1" } variable "public_subnet_lb1" { type = string default = "pub-lb1" } variable "private_subnet_lb1" { type = string default = "pri-lb1" } variable "private_db_rt1" { type = string default = "db-rt1" } variable "public_not_gateway1" { type = string default = "pub-nat1" } variable "private_server_name1" { type = string default = "pri-srv1" } variable "public_server_name1" { type = string default = "pub-srv1" } variable "pribate_subnet2" { type = string default = "pri2" } variable "public_subnet2" { type = string default = "pub2" } variable "private_subnet_db2" { type = string default = "pri-db2" } variable "public_subnet_nat2" { type = string default = "pub-nat2" } variable "public_subnet_lb2" { type = string default = "pub-lb2" } variable "private_subnet_lb2" { type = string default = "pri-lb2" } variable "private_db_rt2" { type = string default = "db-rt2" } variable "public_not_gateway2" { type = string default = "pub-nat2" } variable "private_server_name2" { type = string default = "pri-srv2" } variable "public_server_name2" { type = string default = "pub-srv2" } :::::::::::::: ver.tf :::::::::::::: terraform { required_providers { ncloud = { source = "navercloudplatform/ncloud" } } required_version = ">= 0.13" } [root@com2 ~]#