후니의 IT인프라 사전
[T101 스터디] Terraform 활용해서 네이버 클라우드 다루기 - 준비 본문
[T101 스터디] Terraform 활용해서 네이버 클라우드 다루기 - 준비
james_janghun 2022. 11. 12. 14:49
테라폼의 구조
테라폼은 기본적으로 하나의 디렉터리를 작업 단위로 생각한다.
따라서 원하는 작업의 영역은 디렉터리로 구분해서 편성할 수 있다.
대부분의 작업 환경인 web의 prod, dev 환경으로 두 가지를 구분하면 다음과 같이 편성할 수 있다.
Provider
작업할 리소스 공급자를 작성하고 해당 provider를 통해서 내가 작업할 환경을 세팅할 수 있다.
예를들어 aws를 사용하여 인프라를 편성하고자 한다면 aws provider를 등록해야한다.
Terraform file
작업 디렉토리가 선정되면 해당 디렉토리 안에 terraform 파일을 저장한다.
확장자는 .tf 혹은 .tf.json 파일로 작성한다.
tf 파일에서 작성하는 언어는 HCL 문법을 따르고 json형식을 원한다면 tf.sjon에 작성할 수 있다. 다만 hashicorp사에서는 HCL 문법을 권장하고 있다. (지금은 HCL이라는 용어보다는 Terraform Configuration Language 라는 말을 사용하는 것 같다)
구체적인 작성가이드는 공식문서를 참조하자.
테라폼 설치
Terraform 홈페이지에서 제공하는 install 문서를 참조한다.
이 글에서는 내가 주로 사용하는 linux(Ubuntu/Debian 계열) 설치 법만 공유한다.
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
테라폼 명령어
테라폼은 기본적으로 plan, apply, destroy라는 직관적이고 간단한 명령어를 통해서 작동시킬 수 있다.
terraform plan : 테라폼 파일에 규정된 리소스를 작동시 어떻게 동작될지 예측하여 보여주는 명령어
terraform apply : 실제 테라폼 파일의 내용을 생성하는 명령어
terraform destroy : 테라폼 파일에 규정되어 있는 리소스를 삭제하는 명령어
작업 준비 - NCloud CLI 형태로 사용하기
CLI(Command Line Interface)로 활용하기 위해서는 클라우드의 로그인이 필요한데 이 때 활용하는 것이 access key를 활용하는 방식이다.
1. 먼저 네이버 클라우드에 로그인을 한 후 [마이페이지 > 계정관리 > 인증키 관리]를 클릭한다.
2. [신규 API 인증키 생성] 버튼을 클릭한다.
Ncloud CLI 설치
네이버 클라우드의 CLI 설치 과정은 설치 문서를 참고하며, 최신 버전이 항상 변경될 수 있으므로 관련 문서를 참조한 후 따라하면 좋다.
wget https://www.ncloud.com/api/support/download/files/26
unzip 26
cd cli_linux
chmod 755 -R *
./ncloud configure
이렇게 ncloud configure를 실행시키면 Access Key 입력화면이 나오고, 해당 화면에 앞서 발급받은 내가 사용할 계정의 Access key를 기입하면 된다.
'프로젝트&&스터디 > Terraform 스터디 [T101]' 카테고리의 다른 글
[Terraform 101] 테라폼 백엔드 (0) | 2022.12.12 |
---|---|
[T101 스터디] 네이버 클라우드 NKS 클러스터 구성하기 (0) | 2022.12.11 |
[T101 스터디] 네이버 클라우드 - Auto Scaling 및 LB 배포 (0) | 2022.11.12 |
[T101 스터디] 네이버 클라우드 - VPC 환경의 단일 WebServer 배포 (0) | 2022.11.12 |
[T101 스터디] Terraform 개요 (0) | 2022.11.12 |