Terraform Init: 시작하기
Terraform은 인프라스트럭처를 코드로 관리하는 데 사용되는 오픈 소스 도구입니다. 이 포스트에서는 Terraform의 핵심 명령어 중 하나인 terraform init에 대해 알아보겠습니다.
Terraform init이란?
terraform init 명령어는 Terraform 구성 파일이 포함된 작업 디렉토리를 초기화하는 데 사용됩니다. 새로운 Terraform 구성을 작성하거나 버전 관리에서 기존 구성을 복제한 후에 실행해야 하는 첫 번째 명령어입니다.
terraform init 명령어는 여러 번 실행해도 안전하며, 구성의 변경 사항에 따라 작업 디렉토리를 최신 상태로 유지하는 데 사용할 수 있습니다.
Terraform Init의 작동 방식
terraform init 명령어는 여러 가지 초기화 단계를 수행하여 Terraform을 사용할 수 있게 하는 작업 디렉토리를 준비합니다. 이 명령어는 작업 디렉토리를 백엔드로 구성하고, 구성에서 참조하는 모든 프로바이더와 모듈을 설치하며, 버전 잠금 파일(.lock.hcl파일)을 생성합니다. 또한, terraform init 명령어를 사용하여 작업 공간의 백엔드를 변경하고 프로바이더와 모듈을 업그레이드할 수 있습니다.
Terraform Init 사용하기
다음은 간단한 terraform init 사용 예제입니다:
예시 코드
terraform {
required_version = ">= 1.5"
required_providers {
aws = {
source = "hashicorp/aws"
version = ">= 5.0.0"
}
archive = {
source = "hashicorp/archive"
version = ">= 2.4"
}
}
}
$ terraform init
이 명령어를 실행하면, Terraform은 현재 디렉토리를 검사하여 필요한 프로바이더 플러그인을 찾고, 필요한 경우 이를 다운로드하고 설치합니다. 또한, 백엔드 구성을 초기화하고, 모듈을 다운로드하며, 필요한 경우 기존의 Terraform 상태를 새 백엔드로 마이그레이션합니다.
결과:
aws와 아카이브 프로바이더 및 모듈이 설치되었으며 .lock.hcl또한 생성되었습니다.
.lock.hcl파일이란?
Terraform에서 사용되는 버전잠금 파일로써 사용 중인 각 모듈과 프로바이더의 정확한 버전이 기록되어 있습니다. 이를 통해 Terraform은 향후에도 동일한 버전을 사용하여 일관된 인프라를 유지하는데 도움을 줍니다.
마무리
terraform init은 Terraform 작업 흐름에서 중요한 단계입니다. 이 명령어를 사용하면 Terraform 구성을 준비하고, 필요한 프로바이더와 모듈을 설치하며, 백엔드를 구성할 수 있습니다. 이 명령어는 항상 안전하게 여러 번 실행할 수 있으므로, 구성이 변경될 때마다 작업 디렉토리를 최신 상태로 유지하는 데 사용할 수 있습니다.
다음에는 terraform plan과 terraform apply 같은 다른 Terraform 명령어에 대해 알아보겠습니다. 이 명령어들을 사용하면, Terraform 구성의 변경 사항을 미리 볼 수 있고, 이러한 변경 사항을 적용하여 리소스를 생성, 업데이트, 파괴할 수 있습니다.
참고:
https://developer.hashicorp.com/terraform/cli/commands/init
Command: init | Terraform | HashiCorp Developer
The terraform init command initializes a working directory containing configuration files and installs plugins for required providers.
developer.hashicorp.com
'IaC > Terraform' 카테고리의 다른 글
[Terraform] Terraform설치 - Linux (1) | 2023.12.21 |
---|---|
[Terraform] Terraform 설치 - Windows (2) | 2023.12.21 |
[Terraform] Terraform (1) | 2023.12.21 |