[root@test1 2]# [root@test1 2]# vi var.tf [root@test1 2]# [root@test1 2]# ls backup main2.tf main.tf nat.tf terraform.tfstate var.tf ver.tf [root@test1 2]# [root@test1 2]# more *.tf :::::::::::::: 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) } resource "ncloud_server" "pri_server2" { name = var.private_server_name2 server_image_number = "107029409" subnet_no = ncloud_subnet.pri_subnet2.id server_spec_code = "c2-g3a" login_key_name = "ncp-web-2025-0807" } resource "ncloud_server" "pub_server2" { name = var.public_server_name2 server_image_number = "107029409" subnet_no = ncloud_subnet.pub_subnet2.id server_spec_code = "c2-g3a" login_key_name = "ncp-web-2025-0807" } resource "ncloud_public_ip" "public_ip_scn_02" { server_instance_no = ncloud_server.pub_server2.id } :::::::::::::: 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) } resource "ncloud_server" "pri_server1" { name = var.private_server_name1 server_image_number = "107029409" subnet_no = ncloud_subnet.pri_subnet1.id server_spec_code = "c2-g3a" login_key_name = "ncp-web-2025-0807" } resource "ncloud_server" "pub_server1" { name = var.public_server_name1 server_image_number = "107029409" subnet_no = ncloud_subnet.pub_subnet1.id server_spec_code = "c2-g3a" login_key_name = "ncp-web-2025-0807" } resource "ncloud_public_ip" "public_ip_scn_01" { server_instance_no = ncloud_server.pub_server1.id } :::::::::::::: 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_BPA6kR" } variable secret_key { default = "ncp_iam_BPKMKRFXtJ" } 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@test1 2]#