brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Apr 21. 2022

NCP 4탄-테라폼-VPC 수정-11/11

<1> Terraform 플러그인 종류

<2> 비쥬얼 스튜디오 코드 설치

<3> 테라폼 실습

<4> 기본 VPC 3개까지만 만들수 있다. 초과 생성하면 오류남




<1> Terraform 플러그인 종류


1

플러그인 사용?


Official ?

HashiCorp에서 직접 관리하는 플러그인


Verified ?

네이버 클라우드 플랫폼과 같은 공식 서비스 제공자가 관리하는 플러그인


Community ?

Terraform 사용자들이 개발 관리하는 비공식 플러그인



2

네이버 클라우드의 테라폼 플러그인 사용법

https://registry.terraform.io/providers/NaverCloudPlatform/ncloud/latest/docs




<2>  비주얼 스튜디오 코드 설치


비주얼 스튜디오 코드 설치

https://code.visualstudio.com/docs/setup/setup-overview




<3>  테라폼 실습


1

테라폼 기본 파일 다운로드



2

파일 설명


┣ main.tf

┣ outputs.tf

┣ provider.tf

┗ variables.tf


- main.tf : 배포될 리소스를 정의합니다.

- outputs.tf : 리소스 배포가 끝난 뒤, 사용할 변수를 지정합니다.

- provider.tf : 사용할 provider(plugin)을 설정합니다.

- variables.tf : 사용할 변수들을 입력합니다.



- main.tf : 배포될 리소스를 정의합니다.

resource "local_file" "pet" {

    filename = var.filename

    content = "My favorite pet is ${random_pet.my-pet.id}"

}


resource "random_pet" "my-pet" {

    prefix = "var.prefix"

    separator = var.separator

    length = var.length

}



- outputs.tf : 리소스 배포가 끝난 뒤, 사용할 변수를 지정합니다.

output pet-name {

    value = random_pet.my-pet.id

    description = "Record the value of pet ID generated by the random_pet resource"

}



- provider.tf : 사용할 provider(plugin)을 설정합니다.

terraform {

  required_providers {

    local = {

      source = "hashicorp/local"

      version = "2.2.2"

    }

  }

}


provider "local" {

  # Configuration options

}



- variables.tf : 사용할 변수들을 입력합니다.

variable "filename" {

    default = "./test.txt"

}


variable "prefix" {

    default = "Mrs"

}


variable "separator" {

    default = "."

}


variable "length" {

    default = "1"

}




3

비주얼 스튜디오 코드  실행해 폴더 불러오기



4

네이버 클라우드에 맞게 수정하기

┣ provider.tf





https://brunch.co.kr/@topasvga/2420





<4> 기본 VPC 3개까지만 만들수 있다. 초과 생성하면 오류남


네이버 클라우드는 기본 VPC 3개까지 임.



wget  https://github.com/NaverCloudPlatform/terraform-provider-ncloud/archive/refs/heads/master.zip

unzip master.zip



1

cd /root/terraform-provider-ncloud-main/examples/vpc/scenario01



1

콘솔에서 vpc 4번쨰 생성시 오류




2

cli에서 오류



terraform init

terraform plan


terraform apply -auto-approve





ncloud_login_key.key_scn_02: Creating...

ncloud_vpc.vpc_scn_02: Creating...

ncloud_login_key.key_scn_02: Creation complete after 3s [id=tf-scn02]

│ Error: Create Vpc Instance, err params={0xc000228fd8 0xc0005c1100 0xc0005c1178}

│   with ncloud_vpc.vpc_scn_02,

│   on main.tf line 16, in resource "ncloud_vpc" "vpc_scn_02":

│   16: resource "ncloud_vpc" "vpc_scn_02" {

│ Status: 400 Bad Request, Body: {

│   "responseError": {

│     "returnCode": "1015009",

│     "returnMessage": "You can no longer create a product."

│   }

│ }




삭제

terraform destroy --auto-approve




몰아보기

https://brunch.co.kr/@topasvga/2370



감사합니다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari