본문 바로가기

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

네이버클라우드플랫폼(Ncloud)으로 테라폼(terraform) 시작하기

테라폼로고ncp 로고

IaC란?

코드형 인프라스트럭처(Infrastructure as code, IaC)는 물리적 하드웨어 구성이나 인터페이스 구성 도구가 아닌 기계가 읽을 수 있는 정의 파일들을 통한 컴퓨터 데이터 센터의 관리 및 프로비저닝 과정이다. 이를 통해 관리되는 IT 인프라스트럭처는 베어 메탈 서버 등의 물리 장비와 가상 머신 및 관련 구성 리소스를 모두 구성한다. 이 정의는 버전 관리 시스템에 속할 수 있다. 수동 프로세스가 아닌 스크립트나 선언형 정의를 사용할 수 있으나 이 용어는 선언적 접근을 제고하기 위해 사용되는 일이 더 많다.

IaC 접근방식은 클라우드 컴퓨팅을 위해 제고되며 서비스형 인프라스트럭처(IaaS)로 마케팅되기도 한다. IaC는 IaaS를 지원하지만 그 둘은 구별된다.

테라폼 이란?

테라폼(Terraform)은 HashiCorp가 개발한 코드형 인프라스트럭처이다. 사용자는 HCL(HashiCorp Configuration Language)이라는 선언형 구성 언어나 선택적으로 JSON을 사용하여 데이터 센터 인프라스트럭처를 정의하고 제공한다.클라우드 채택을 활성화하고 가속화하기 위해 인프라를 코드화하고 버전을 지정합니다.

프로그래밍 언어 : Go
운영 체제 : 리눅스, FreeBSD, macOS, OpenBSD, Solaris, 마이크로소프트 윈도우
언어 : 영어
웹사이트 : www.terraform.io

 

Terraform by HashiCorp

Terraform is an infrastructure as code tool that enables you to safely and predictably provision and manage infrastructure in any cloud.

www.terraform.io

테라폼 작동 방식

공급자는 Terraform이 액세스 가능한 API를 통해 거의 모든 플랫폼 또는 서비스와 작동할 수 있도록 지원합니다.

테라폼 워크플로

  • 쓰기: 클라우드 제공업체 및 서비스에 리소스를 정의합니다.
    ex) version.tf, main.tf, output.tf
  • 계획: 테라폼에 기존 인프라 및 구성을 기반으로 생성, 업데이트 또는 폐기할 인프라를 설명하는 실행 계획을 생성합니다.
    ex) terraform init ,terraform plan
  • 적용: 승인 시 테라폼은 리소스 종속성을 존중하면서 제안된 작업을 올바른 순서로 수행합니다.
    ex) terraform approve, terraform destroy

테라폼 멱등성(Idempotency)

  • 멱등성 : 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다.즉, 멱등한 작업의 결과는 한 번 수행하든 여러 번 수행하든 같아야 한다.

테라폼을 사용하는 데 중요한 기능으로 한번 실행한 코드는 다시 실행하지 않는 것으로 코드를 계속해서 쌓아가면서 해도 이미 실행한 코드가 변하지 않는 한 다시 실행되는 것이아니라 변경된 부분만 실행된다.

- 참조

테라폼 NCLOUD DOCUMENTATION
테라폼 NCLOUD GitHub
NCLOUD cli

 
 
 
 
 
 
출처:위키피디아,나무위키,테라폼공식홈페이지