다음을 통해 공유


빠른 시작: Terraform용 Azure Export를 사용하여 HCL 코드로 Azure 리소스 내보내기

Azure Export for Terraform을 사용하여 첫 번째 리소스를 내보내는 문서에서는 Azure Export for Terraform을 사용하여 Azure 리소스를 로컬 상태 파일로 내보내는 방법을 알아봅니다. 이 문서에서는 Azure 리소스에서 Terraform 구성 파일을 생성하는 방법을 알아봅니다.

  • Azure CLI 또는 Azure PowerShell을 사용하여 테스트 Azure 리소스 그룹을 만듭니다.
  • Azure CLI 또는 Azure PowerShell을 사용하여 테스트 Linux 가상 머신을 만듭니다.
  • 리소스 그룹 및 가상 머신을 Azure에서 HCL 파일로 내보냅니다.
  • 로컬 상태가 Azure의 리소스 상태와 일치하는지 테스트합니다.

필수 조건

테스트 Azure 리소스 만들기

Linux VM을 만듭니다.

  1. az group create를 실행하여 Azure 리소스 그룹을 만듭니다.

    az group create --name myResourceGroup --location eastus
    
  2. az vm create를 실행하여 가상 머신을 만듭니다.

    az vm create \
      --resource-group myResourceGroup \
      --name myVM \
      --image Debian11 \
      --admin-username azureadmin \
      --generate-ssh-keys \
      --public-ip-sku Standard
    

hcl 전용 플래그 이해

Terraform용 Azure Export는 내보낸 리소스에서 다음 파일을 생성하게 하는 플래그 --hcl-only 를 지원합니다.

  • .tf 생성된 HCL 파일입니다.
  • 매핑 파일 aztfexportResourceMapping.json.
  • 건너뛴 리소스는 .에 aztfexportSkippedResources.txt나열됩니다.

플래그는 --hcl-only 내보내는 데 사용되는 모든 기본 내보내기 명령에 대해 지원됩니다.

  • resource
  • resource-group
  • query
  • mapping-file

Terraform에 사용 가능한 Azure Export 명령을 보려면 다음 명령을 실행합니다.

aztfexport --help

플래그는 --hcl-only 상태가 필요하지 않거나 상태를 생성해야 하는지 확실하지 않은 시나리오에서 유용합니다. 생성된 모든 구성을 상태로 내보내려면 다음을 실행합니다 aztfexport mapping-file.

플래그를 --hcl-only 사용하는 경우 내보내기 단계에서 현재 상태를 원치 않게 변경하지 않도록 빈 디렉터리를 대상으로 지정합니다.

Azure 리소스 내보내기

대화형 모드와 비대화형 모드 중 하나로 도구를 실행할 aztfexport 수 있습니다. 이 데모에서는 비대화형 모드를 사용합니다.

  1. 테스트할 디렉터리를 만듭니다.

  2. 명령 프롬프트를 열고 새 디렉터리로 이동합니다.

  3. 실행 aztfexport resource-group 하여 이름이 지정된 리소스 그룹을 내보냅니다 myResourceGroup.

    aztfexport resource-group --non-interactive --hcl-only myResourceGroup
    

참고 항목

Terraform용 Azure Export를 실행하는 작업은 완료하는 데 몇 분 정도 걸릴 수 있습니다.

결과 확인

도구가 Azure 리소스 내보내기를 완료한 후 Terraform용 Azure Export를 실행한 디렉터리에서 다음 파일을 확인합니다.

  • main.tf 에는 내보낸 리소스를 정의하는 HCL 코드가 포함되어 있습니다.
  • aztfexportResourceMapping.json 에는 Azure/Terraform 매핑이 포함됩니다. 매핑 파일에는 내보낸 각 Azure 리소스에 대한 다음 정보가 포함됩니다. Azure 리소스 ID, Terraform 리소스 종류 및 Terraform 리소스 이름입니다. 매핑 파일의 내용은 내보내기 프로세스 중에 Terraform용 Azure Export가 표시하는 내용에 미러.
  • aztfexportSkippedResources.txt 에는 건너뛴 리소스 목록이 포함되어 있습니다. 이 예제에서는 이 파일이 표시되지 않습니다.

리소스 정리

이 문서에서 만든 리소스가 더 이상 필요하지 않은 경우 다음 단계를 수행합니다.

  1. 이 문서의 Terraform 파일이 포함된 디렉터리로 이동합니다.

  2. terraform destroy를 실행 합니다.

    terraform destroy
    

다음 단계