1. 변수 파일 생성
- 프로젝트 루트 디렉토리에 "terraform.tfvars" 파일 생성
- terraform.tfvars 파일은 로컬에만 저장하고, 절대 공유하거나 버전 관리 시스템에 커밋하지 않도록 주의 필요.
# terraform.tfvars
subscription_id = "your_subscription_id"
client_id = "your_client_id"
client_secret = "your_client_secret"
tenant_id = "your_tenant_id"
2. .gitignore 설정
- 인증정보가 포함 된 "terraform.tfvars" 파일을 버전 관리에서 제외하기 위해 설정
- 프로젝트 루트 디렉토리에 " .gitignore" 파일 생성
- 예외 처리할 "terraform.tfvars" 파일 등록
terraform.tfvars
3. Terraform 설정
- main.tf 파일에서 변수를 선언하고 provider 블록 설정
variable "subscription_id" {}
variable "client_id" {}
variable "client_secret" {}
variable "tenant_id" {}
provider "azurerm" {
features {}
subscription_id = var.subscription_id
client_id = var.client_id
client_secret = var.client_secret
tenant_id = var.tenant_id
}
4. Terraform 초기화 및 실행
terraform init
terraform plan
terraform apply
SOPS + Azure Key Vault를 사용하여 암호화 후 연동하려고 했으나 비용이 발생되어 보류
- Azure Key Vault 생성 후 Key Vault에 키 생성 시 "Key Vault 암호화 책임자" 또는 "Key Vault 관리자" 역할 필요
- "Key Vault 암호화 책임자" 또는 "Key Vault 관리자" 역할 할당을 위해선 Azure Front Door에 연결된 ID가 필요
- Azure Front Door 구성에 월 비용 발생