리셋 되지 말자

[Terraform] NCP - Terraform image 정보 출력 본문

Infra

[Terraform] NCP - Terraform image 정보 출력

kyeongjun-dev 2021. 3. 18. 16:35

Terraform version

Terraform v0.14.8

 

이 글을 쓰는 이유

terraform에서 server를 생성할 때, 이미지 코드 (product_code)를 입력해야 하는데, 이거에 대한 정보가 없음... 난 CentOS 7을 쓰고 싶은데 아는 product_code는 CentOS 6 뿐이 없다. 어떻게 알아내야 하나 3시간 동안 찾다가 헤맨 결과가 이 글이다. 하...

 

필요한 파일 목록

$ ls
main.tf  outputs.tf  versions.tf

위의 세 개의 파일을 사용했다.

 

파일 별 내용

- main.tf

data "ncloud_server_images" "image" {
}


- outputs.tf

output "images" {
  value = data.ncloud_server_images.image.server_images
}

 

- versions.tf

terraform {
  required_version = ">= 0.13"
  required_providers {
    ncloud = {
      source = "navercloudplatform/ncloud"
    }
  }
}

 

테라폼 init

위의 파일들을 다 작성하고 나서, 위의 파일들이 있는 경로에서 `terraform init` 명령어를 실행한다.

$ terraform init

Initializing the backend...

Initializing provider plugins...
- Reusing previous version of navercloudplatform/ncloud from the dependency lock file
- Using previously-installed navercloudplatform/ncloud v2.0.5

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

init에 성공하면 위처럼 메시지가 표시될 것이다.

 

테라폼 plan

$ terraform plan
provider.ncloud.access_key
  Access key of ncloud

  Enter a value: 12412323

provider.ncloud.region
  Region of ncloud

  Enter a value: KR

provider.ncloud.secret_key
  Secret key of ncloud

  Enter a value: 4214123213


An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:

Terraform will perform the following actions:

Plan: 0 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + images = [
      + {
          + base_block_storage_size         = "50GB"
          + id                              = "SPSW0LINUX000031"
          + infra_resource_detail_type_code = ""
          + infra_resource_type             = "SW"
          + os_information                  = "CentOS 6.3 (64-bit)"
          + platform_type                   = "LNX64"
          + product_code                    = "SPSW0LINUX000031"
          + product_description             = "CentOS 6.3 (64bit)"
          + product_name                    = "centos-6.3-64"
          + product_type                    = "LINUX"
        },
      + {
          + base_block_storage_size         = "50GB"
          + id                              = "SPSW0LINUX000044"
          + infra_resource_detail_type_code = ""
          + infra_resource_type             = "SW"
          + os_information                  = "CentOS 6.6 (64-bit)"
          + platform_type                   = "LNX64"
          + product_code                    = "SPSW0LINUX000044"
          + product_description             = "CentOS 6.6(64bit)"
          + product_name                    = "centos-6.6-64"
          + product_type                    = "LINUX"
        },
      + {
          + base_block_storage_size         = "50GB"
          + id                              = "SPSW0LINUX000045"
          + infra_resource_detail_type_code = ""
          + infra_resource_type             = "SW"
          + os_information                  = "CentOS 7.2 (64-bit)"
          + platform_type                   = "LNX64"
          + product_code                    = "SPSW0LINUX000045"
          + product_description             = "CentOS 7.2(64bit)"
          + product_name                    = "centos-7.2-64"
          + product_type                    = "LINUX"
        },

 

terraform plan 명령어를 사용하면 access key, region, secret key을 입력하라고 나오는데 차례대로 입력하면 된다. 본인은 region에 "KR"이라고 입력했다.

그러면 NCP에서 지원하는 이미지들의 정보를 확인할 수 있다.

 

끝.

Comments