NaverCloudPlatform / terraform-provider-ncloud

Terraform NaverCloud provider
https://registry.terraform.io/providers/NaverCloudPlatform/ncloud/latest/docs
Mozilla Public License 2.0
101 stars 72 forks source link

vpc server 옵션중 default nic acg list 옵션이 정상동작하지 않는 이슈 #188

Closed minosmlee closed 2 years ago

minosmlee commented 2 years ago

민간 리얼에서 vpc server를 생성시 default nic에 적용할 acg list를 적용하는 옵션이 있습니다. access_control_group_configuration_no_list 여기에 acg_no을 입력하여도 결과적으로 default-acg만 적용됩니다.

resource "ncloud_server" "test" {
  name           = "test"
  subnet_no      = (data.terraform_remote_state.vpc.outputs
    .vpcs["vpc_clops"]
    .subnets["sbn_clops_public_1"]
    .subnet_no
  )
  login_key_name = "key-clops"

  server_image_product_code = data.ncloud_server_image.this.product_code
  server_product_code       = data.ncloud_server_product.this.product_code

  # 아래의 코드가 정상적으로 동작하지 않는것 같음
  access_control_group_configuration_no_list = [module.acgs["acg_clops_public"].this_acg_no]

}

image

sangkyu-kim commented 2 years ago

안녕하세요

access_control_group_configuration_no_list 의 경우는 안타깝게도, vpc 환경에서는 제공되지 않습니다. 해당 옵션의 경우 validation 을 추가하도록 해야 겠네요.

image

대안은 2가지가 있습니다.

  1. 별도 network interface 생성 후, ncloud_server 내 network_interface 에 기재
    
    resource "ncloud_server" "server" {
    subnet_no                 = ncloud_subnet.pub-sub.id
    name                      = "my-tf-server"
    server_image_product_code = "SW.VSVR.OS.LNX64.CNTOS.0703.B050"
    network_interface {
    order = 0
    network_interface_no = ncloud_network_interface.default-nic.id
    }
    }

resource "ncloud_network_interface" "default-nic" { subnet_no = ncloud_subnet.pub-sub.id access_control_groups = [ncloud_vpc.vpc.default_access_control_group_no] }


2. terraform import 사용 (이미 ncloud_server 가 아래와 같이 생성 된 경우)

##### main.tf
```hcl
resource "ncloud_server" "server" {
  subnet_no                 = ncloud_subnet.pub-sub.id
  name                      = "my-tf-server"
  server_image_product_code = "SW.VSVR.OS.LNX64.CNTOS.0703.B050"
}

resource "ncloud_network_interface" "default-nic" {
  subnet_no             = ncloud_subnet.pub-sub.id
  access_control_groups = [ncloud_vpc.vpc.default_access_control_group_no]
}
$ terraform import ncloud_network_interface.default-nic {기본-network-interface-ID}

의견 감사합니다.