# network #VPC 생성 리소스 블록 resource "nhncloud_networking_vpc_v2" "terraform_vpc" { name = "terraform_vpc" cidrv4 = "10.0.0.0/16" } resource "nhncloud_networking_vpcsubnet_v2" "public_subnet" { name = "public_subnet" vpc_id = nhncloud_networking_vpc_v2.terraform_vpc.id cidr = "10.0.1.0/24" } resource "nhncloud_networking_vpcsubnet_v2" "private_subnet" { name = "private_subnet" vpc_id = nhncloud_networking_vpc_v2.terraform_vpc.id cidr = "10.0.2.0/24" } resource "nhncloud_networking_routingtable_v2" "private_rt" { name = "private_rt" vpc_id = nhncloud_networking_vpc_v2.terraform_vpc.id } resource "nhncloud_networking_secgroup_v2" "web-sg" { name = "web-sg" } resource "nhncloud_networking_secgroup_rule_v2" "web_sg-rule" { direction = "ingress" ethertype = "IPv4" protocol = "tcp" port_range_min = 80 port_range_max = 80 remote_ip_prefix = "0.0.0.0/0" security_group_id = nhncloud_networking_secgroup_v2.web-sg.id } # compute # 네트워크 추가, 블록 스토리지 추가된 인스턴스 생성 resource "nhncloud_compute_instance_v2" "web_server" { name = "web_server" key_pair = "seo1" flavor_id = data.nhncloud_compute_flavor_v2.web_server.id # security_groups = ["default"] security_groups = ["default","web-sg"] network { port = nhncloud_networking_port_v2.port_1.id } block_device { uuid = data.nhncloud_images_image_v2.ubuntu_22.id source_type = "image" destination_type = "volume" boot_index = 0 volume_size = 20 delete_on_termination = true } user_data = "#include https://kr2-api-object-storage.nhncloudservice.com/v1/AUTH_cf5a0f8add884a61a2f047ff8c16c4bb/real-iac-terraform/terra-index.txt" } resource "nhncloud_networking_port_v2" "port_1" { name = "tf_port_1" network_id = nhncloud_networking_vpc_v2.terraform_vpc.id fixed_ip { subnet_id = nhncloud_networking_vpcsubnet_v2.public_subnet.id } }