Share via


クイックスタート: Azure Export for Terraform を使用して最初のリソースをエクスポートする

この記事では、Azure Export for Terraform を使用して Azure リソースをローカル状態ファイルにエクスポートする方法について説明します

  • Azure CLI または Azure PowerShell を使用して、テスト用の Azure リソース グループを作成します。
  • Azure CLI または Azure PowerShell を使用して、テスト用の Linux 仮想マシンを作成します。
  • リソース グループと仮想マシンの状態を Azure からローカル状態ファイルにエクスポートします。
  • ローカル状態が 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
    

Azure リソースをエクスポートする

aztfexport ツールは、対話型モードと非対話型モードの 2 つのモードのいずれかで実行できます。 このデモでは、非対話型モードを使用します。

  1. テストするディレクトリを作成します。

  2. コマンド プロンプトを開き、新しいディレクトリに移動します。

  3. aztfexport resource-group を実行して、myResourceGroup と名付けられたリソース グループ名をエクスポートします。

    aztfexport resource-group myResourceGroup
    
  4. ツールが初期化されると、エクスポートするリソースの一覧が表示されます。 各行には、対応する AzureRM リソースの種類と一致する Azure resourceID があります。 使用可能なコマンドの一覧がディスプレイの下部に表示されます。 いずれかのコマンドを使用して、一番下までスクロールし、予想される Azure リソースがそれぞれの Terraform リソースの種類に適切にマップされていることを確認します。

    Screenshot showing the Azure resources that would be exported based on the command and resource specified when you run the Azure Export for Terraform tool.

  5. w キーを押して、エクスポートを実行します。

    重要なポイント:

    • 非対話型リソースの場合は、--non-interactive フラグを追加します: aztfexport rg --non-interactive myResourceGroup

Note

Azure Export for Terraform の実行が完了するまでに数分かかる場合があります。

結果を確認する

ツールによる Azure リソースのエクスポートが完了したら、生成されたファイルを含む同じディレクトリで次のコマンドを実行します。

  1. terraform init を実行します。

    terraform init --upgrade
    
  2. terraform plan を実行します。

    terraform plan
    

ターミナル出力で [変更は必要ありません] と表示されたら完了です。

インフラストラクチャとそれに対応する状態が Terraform に正常にエクスポートされました。

リソースをクリーンアップする

この記事で作成したリソースが不要になったら、次の手順を実行してください。

  1. この記事の Terraform ファイルを含むディレクトリに移動します。

  2. terraform destroy を実行します。

    terraform destroy
    

次のステップ