국내 클라우드 업체 최초 Terraform Provider 리스트 등재
안녕하세요, 네이버 클라우드 플랫폼입니다.
네이버 클라우드 플랫폼이 국내 클라우드 업체로는 최초로 Terraform Provider 리스트에 등재되었습니다!
Hashicorp에서 제공하는 Terraform을 이제 Ncloud Terraform Provider를 사용하여 네이버 클라우드 플랫폼 인프라 구성을 코드로 관리할 수 있습니다.
Terraform에 대해 알기 전에 먼저 IAC (Infrastructure as a Code)가 뭔지 아셔야 하는데요, 혹시 모르실 분들을 위해 간단히 설명드린 후 Terraform에 대해 설명 드리겠습니다.
IAC (Infrastructure as a Code)란?
IAC는 Infrastructure as a Code의 줄임말로 인프라를 코드로 표현한다는 의미이며, 명시적인 코드 형태로 인프라를 프로비저닝하고 관리하는 방식입니다. 인프라가 코드를 통해 정의되므로 인프라와 서버를 표준화된 패턴을 사용하여 배포하고, 최신 패치와 버전으로 업데이트하거나, 다양한 플랫폼 및 환경에 동일한 인프라 구성 매칭이 가능합니다.
기존 SW 기업들은 많은 리소스를 서버와 같은 하드웨어 빌드에 사용하였습니다. 개발자들이 빌드 한 애플리케이션을 OPS 팀이라 불리는 서버 관리팀에 넘기면 OPS 팀은 서버에 디플로이하는 과정을 담당했었습니다. 하지만 클라우드 서비스가 퍼지면서 기업들은 점차 서버를 직접 관리하지 않게 되었고, 개발자가 코딩부터 디플로이까지 하게 되는 DevOps 분야가 생겨났습니다. 이러한 DevOps 분야가 발전하면서 IAC 분야도 각광을 받게 된 것입니다.
이러한 IAC로 인프라 리소스 구성을 자동화하였을 때, 빠르고 안전하게 리소스를 증설하거나 복구가 가능합니다. 또한 명시적인 코드 형태 관리를 통해 문서화와 버전 관리가 수월하여 변경 이력 및 서비스 영향에 대해 명확한 파악이 가능해집니다.
Terraform
Terraform은 일전에 소개해드렸던 Packer와 같이 인프라 레벨의 디플로이먼트를 자동화할 수 있는 IAC (Infrastructure as a Code)의 한 종류로 Hashicorp에서 오픈소스로 제공하고 있습니다.
(Packer 포스팅 링크는 하단에 걸어두었으니, 궁금하신 분은 읽어보시면 좋을 것 같습니다.)
Terraform은 특정 클라우드 플랫폼에 종속되지 않고 멀티 클라우드 환경에서 사용이 가능하며, [HCL] 문법을 사용하여 인프라 구성을 안전하고 예측한 대로 생성, 변경 및 프로비저닝을 할 수 있습니다.
■ Terraform의 특징
- Execution Plans : 다른 코드처럼 git 등을 이용해 리얼 인프라 적용 전 사전 테스트가 가능합니다.
- Change Automation : 수동이 아닌 코드로 서버를 생성하기 때문에 서버 운영 및 관리가 자동화됩니다.
- Resource Graph : 디펜던시 관련해서 Terraform에서 자체적으로 그래프를 이용해 생성하는데 문제없이 인프라를 디플로이 합니다.
* 추가 정보
[Packer v1.3.5 출시 안내]
- https://github.com/hashicorp/packer/blob/v1.3.5/CHANGELOG.md
- - 네이버 클라우드 플랫폼은 2018년 2월에 Packer에 네이버 클라우드 플랫폼 빌더(Naver Cloud Platform Builder)가 컨트리뷰트(Contribute) 되었습니다.[네이버 클라우드 플랫폼 빌더(Naver Cloud Platform Builder)]
■ Terraform에 대해 더 자세한 정보를 확인하고 싶으시면
[Terraform 공식 홈페이지]를 참고 바랍니다.
■ 아래 영상을 통해 Terraform 설치 방법부터 네이버 클라우드 플랫폼 상에서의 인프라 구축 데모 시연까지 확인해보시기 바랍니다.
관련 글:
[이렇게 사용하세요!] Packer Plugin Builder 를 활용한 내 서버 이미지 생성 자동화