<1> Terraform 플러그인 종류
<2> 비쥬얼 스튜디오 코드 설치
<3> 테라폼 실습
<4> 기본 VPC 3개까지만 만들수 있다. 초과 생성하면 오류남
<1> Terraform 플러그인 종류
1
플러그인 사용?
Official ?
HashiCorp에서 직접 관리하는 플러그인
Verified ?
네이버 클라우드 플랫폼과 같은 공식 서비스 제공자가 관리하는 플러그인
Community ?
Terraform 사용자들이 개발 관리하는 비공식 플러그인
2
네이버 클라우드의 테라폼 플러그인 사용법
<2> 비주얼 스튜디오 코드 설치
비주얼 스튜디오 코드 설치
<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
감사합니다.