Terraform¶
Terraform은 HashiCorp에서 개발한 오픈 소스 IaC(Infrastructure as Code) 도구입니다. Terraform을 사용하면 인프라를 안전하게 생성, 수정 및 중지할 수 있으며, 이러한 작업을 다른 코드와 마찬가지로 버전 관리할 수 있습니다. Terraform은 다양한 클라우드 서비스 제공업체(AWS, Azure, Google Cloud Platform 등), 네트워크 장비 및 기타 리소스를 관리할 수 있습니다.
Guance는 Guance 리소스를 관리하기 위한 Terraform Provider를 제공합니다. 사용자는 Provider를 통해 Guance 관련 리소스를 정의하고 작성한 후, Terraform CLI를 사용하여 리소스를 관리할 수 있습니다.
Terraform 설치¶
Terraform의 자세한 설치 방법은 공식 문서를 참조하세요. 아래에는 일부 운영 체제의 설치 방법만 나열되어 있으며, Terraform 버전은 1.9.5입니다.
macOS¶
패키지 관리 도구
바이너리 설치 패키지
Windows¶
바이너리 설치 패키지
Linux¶
패키지 관리 도구
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /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
바이너리 설치 패키지
Terraform 기본 명령어¶
Terraform 설치를 완료한 후 다음 명령어를 사용하여 설치가 성공적으로 되었는지 확인할 수 있습니다.
Terraform은 클라우드 리소스를 관리하고 조작하는 데 도움이 되는 다양한 명령어를 제공합니다. 다음은 자주 사용되는 명령어입니다.
초기화¶
terraform init 명령어는 Terraform 프로젝트를 초기화하는 데 사용되며, 플러그인 다운로드 및 설치, 로컬 상태 저장소 구성, 원격 상태 저장소 초기화 등을 포함합니다.
계획 및 적용¶
terraform plan명령어는 실행될 변경 사항 계획을 생성하고, 수행될 작업을 표시하는 데 사용됩니다.terraform apply명령어는 변경 사항 계획을 실행하여 리소스를 생성, 수정 또는 삭제하는 데 사용됩니다.terraform destroy명령어는 리소스를 삭제하는 데 사용됩니다.
상태 관리¶
terraform state list명령어는 현재 상태의 모든 리소스를 나열하는 데 사용됩니다.terraform state show명령어는 지정된 리소스의 상세 정보를 표시하는 데 사용됩니다.terraform state rm명령어는 지정된 리소스를 삭제하는 데 사용됩니다.
출력¶
terraform output 명령어는 현재 상태에 정의된 출력 값을 표시하는 데 사용됩니다.
기타¶
terraform validate명령어는 구성 파일의 올바른지 확인하는 데 사용됩니다.terraform fmt명령어는 구성 파일의 형식을 지정하는 데 사용됩니다.