Azure Developer CLI를 위한 코드 도구로 Terraform을 인프라로 사용

Azure 개발자 CLI(azd)는 다음을 포함하여 여러 IaC(Infrastructure as code) 공급자를 지원합니다.

기본적으로 azd Bicep을 IaC 공급자로 가정합니다. 프로젝트에 가장 적합한 IaC 공급자를 결정하는 데 도움이 되도록 Terraform 및 Bicep 비교 문서를 참조하세요.

참고 항목

Terraform은 여전히 베타 상태입니다. 기능 버전 관리 및 릴리스 전략 페이지에서 알파 및 베타 기능 지원에 대해 자세히 알아보세요.

필수 구성 요소

참고 항목

Azure CLI 로그인을 사용하지는 않지만 azd Terraform에는 Azure CLI가 필요합니다. Terraform의 공식 설명서에서 이 요구 사항에 대해 자세히 알아보세요.

Terraform을 IaC 공급자로 구성

  1. azure.yaml 프로젝트의 루트에 있는 파일을 열고 기본값인 Bicep을 재정의할 다음 줄이 있는지 확인합니다.

    infra:
      provider: terraform
    
  2. 프로젝트의 루트에 infra 있는 디렉터리에 모든 .tf 파일을 추가합니다.

  3. azd up을 실행합니다.

참고 항목

Terraform을 IaC 공급자 로 사용하는 두 개의 azd 템플릿인 Node.js와 Terraform , Python 및 Terraform을 확인합니다.

azd pipeline config Terraform의 경우

Terraform은 관리되는 인프라 및 구성에 대한 상태를 저장합니다. 이 상태 파일 때문에 GitHub에서 배포 파이프라인을 설정하기 위해 실행 azd pipeline config 하기 전에 원격 상태를 사용하도록 설정해야 합니다.

기본적으로 azd 로컬 상태 파일의 사용을 가정합니다. 원격 상태를 사용하도록 설정하기 전에 실행 azd up 한 경우 원격 상태 파일을 실행하고 azd down 전환해야 합니다.

로컬 및 원격 상태

Terraform은 지속형 상태 데이터를 사용하여 관리하는 리소스를 추적합니다.

원격 상태를 사용하도록 설정하는 시나리오:

  • 상태 데이터에 대한 공유 액세스를 허용하고 여러 사람이 해당 인프라 리소스 컬렉션에서 함께 작업할 수 있도록 허용하려면
  • 상태 파일에 포함된 중요한 정보가 노출되는 것을 방지하려면
  • 상태를 로컬로 저장하여 실수로 삭제할 가능성을 줄이려면

원격 상태 사용

  1. 원격 상태 스토리지 계정을 구성해야 합니다.

  2. 폴더에 호출 provider.conf.json 된 새 파일을 추가합니다 infra .

    {
        "storage_account_name": "${RS_STORAGE_ACCOUNT}",
        "container_name": "${RS_CONTAINER_NAME}",
        "key": "azd/azdremotetest.tfstate",
        "resource_group_name": "${RS_RESOURCE_GROUP}"
    }
    
  3. 백 엔드를 infra 원격으로 설정하기 위한 업데이트 provider.tf 가 폴더에 있습니다.

    # Configure the Azure Provider
    terraform {
      required_version = ">= 1.1.7, < 2.0.0"
      backend "azurerm" {
      }
    
  4. 실행 azd env set <key> <value> 하여 파일에 구성을 추가합니다 .env . 예시:

    azd env set RS_STORAGE_ACCOUNT your_storage_account_name
    azd env set RS_CONTAINER_NAME your_terraform_container_name
    azd env set RS_RESOURCE_GROUP your_storage_account_resource_group
    
  5. 일반적인 워크플로에 따라 다음 azd 명령을 실행합니다. 원격 상태가 검색되면 azd 구성된 백 엔드 구성을 사용하여 Terraform을 초기화합니다.

  6. 팀 동료와 환경을 공유하려면 로컬 시스템에서 환경 설정을 새로 고치도록 실행하고 azd env refresh -e <environmentName> 4단계를 수행하여 파일에 구성을 .env 추가합니다.

참고 항목

다음 단계