brunch

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

by Master Seo

<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





감사합니다.


keyword
매거진의 이전글NCP 4탄 -테라폼-CLI 로VPC -9/11