본문 바로가기

네이버클라우드플랫폼(Ncloud)/테라폼

테라폼(terraform) 설치 및 vpc구축(+provider설정)

테라폼 설치

https://developer.hashicorp.com/terraform/install

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install terraform

저는 centos-7.8-64을 기준으로 작성하였습니다.

테라폼 시작하기

- vpc 생성하기

Basic Usage

resource "ncloud\_vpc" "vpc" {  
ipv4\_cidr\_block = "10.0.0.0/16"  
}

resource "ncloud\_network\_acl" "nacl" {  
vpc\_no = ncloud\_vpc.vpc.id  
}

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

 

Terraform Registry

 

registry.terraform.io

 

 

위가 예시이지만 여러가지 설정을 해줘야한다.

 

 

#version.tf

terraform {
  required_providers {
    ncloud = {
      source = "NaverCloudPlatform/ncloud"
    }
    null = {
      source = "hashicorp/null"
    }
    random = {
      source = "hashicorp/random"
  }
 }
required_version = ">= 0.13"
}

 

네이버클라우드 선언의 하는 것이고
null함수와 random 함수를 적용한다는 말과
테라폼 0.13이상이 필요하다는 코드이다.

 

 

#provider.tf

variable access_key {# export TF_VAR_access_key=...
}

variable secret_key {# export TF_VAR_secret_key=...
}
provider "ncloud" {
  access_key  = var.access_key
  secret_key  = var.secret_key
  region = "KR"
  site = "public"
  support_vpc = "true"
}

 

네이버클라우드의 엑세스 키와비밀키
그리고 리젼, 민간영역과 클래식과 vpc 선택하는 코드이다.

 

 

#vpc.tf

// VPC 이름
variable "pnoun" {
  type = string
  default = "bo20cy"
}
// VPC CIDR
variable "vpc_cidr_block" {
  type = string
  default = "10.2.0.0/16"
}
// VPC 생성
resource "ncloud_vpc" "create_vpc" {
    name = "${var.pnoun}--vpc"
    ipv4_cidr_block = var.vpc_cidr_block
}

 

대망의 vpc선언문이다.
vpc각 이름마다 고유의 이름을 넣을 것이고
cidr값은 10.2.0.0/16

${var.pnoun} 은 이전에 variable "pnoun" 값을 불러오는 코드다.

 

 

여기서

export TF\_VAR\_access\_key=123456789

export TF\_VAR\_secret\_key=123456789123
이런식으로 선언하면 엑세스키와 비밀키를 묻는 일을 줄일 수 있다.

 

 

 

terraform init 테라폼을 초기화 한다

 

 

 

terraform plan 테라폼의 resource를 확인 단계로 아직 실행되지않지만 코드를 확인한다.

 

 

 

 

terraform apply -auto-approve 테라폼을 적용시킨다.
-auto-approve는 실행시 yes 묻는 거 다 yes로 적용시킨다.

이제 생성이 되었다.

 

 

다음 장에는 subnet을 생성해 볼 예정이다.