IaC

1. 동일한 자격 증명을 사용하여 여러 Azure 구독에 배포 여러 provider 블록을 생성하고 각각에 대한 alias를 지정한다. provider 블록에 사용하고자 하는 Azure 구독 id를 입력한다. # provider.tf terraform { required_providers { azurerm = { source = "hashicorp/azurerm" version = "=3.0.0" } } } provider "azurerm" { alias = "dev" subscription_id = var.dev_sub_id features {} } provider "azurerm" { alias = "prod" subscription_id = var.prod_sub_id features {} } 1)..
1. Azure CLI를 통한 인증 Terraform을 공유 환경에서 실행할 때는 서비스 주체를 사용하고, 로컬 환경에서 실행할 때는 Azure CLI를 사용하는 것이 좋다. Azure CLI를 통해 인증할 때 Terraform 는 자동으로 기본 구독에 연결된다. Azure CLI를 통한 인증은 사용자 계정을 사용할 때만 지원된다. az login az account set --subscription "" # provider.tf terraform { required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>3.0" } random = { source = "hashicorp/random" version = "~>3.0" } } ..
1. Terraform 기본 명령어 1) terraform init Terraform 구성 파일이 포함된 작업 디렉터리를 초기화하는 데 사용된다. 새 Terraform 구성을 작성하거나 버전 제어에서 기존 구성을 복제한 후 실행해야 하는 첫 번째 명령이다. provider.tf 파일에서 required_providers에 프로바이더를 지정하지 않아도 테라폼이 코드에서 추론해 최신 버전의 프로바이더를 다운로드 받는다. terraform init 명령어 실행 시 생성되는 파일 .terraform 디렉터리 생성 .terraform.lock.hcl 파일 생성 2) terraform plan Terraform이 인프라에 적용하려는 변경 사항을 미리 볼 수 있는 실행 계획을 생성한다. 이전 state와 비교하여 변..
1. Sensitive variable란? 민감한 변수 값임을 알리고 테라폼의 출력문에서 값 노출을 제한한다. 민감한 변수로 지정해도 terraform.tfstate 파일에는 결과물이 평문으로 기록되므로 State 파일의 보안에 유의해야 한다. 2. Sensitive variable 설정 테스트 1) variables.tf에서 resource_group_name 변수에 "sensitive = true" 추가 2) terraform.auto.tfvars에서 resource_group_name의 변수 값은 정의하지 않음 3) terraform apply 명령어 실행 후 변수 값인 "jql-rg" 수동 입력 Sensitive variable로 구성되어 변수 값 입력 시 화면에 표출되지 않는다. 예상 결과 값에..
pepe_
'IaC' 카테고리의 글 목록