Azure Terraform Visual Studio Code 拡張機能のインストール

Terraform を使用すると、クラウド インフラストラクチャの定義、プレビュー、およびデプロイを行うことができます。 Terraform を使用する際は、HCL 構文を使って構成ファイルを作成します。 HCL 構文では、Azure などのクラウド プロバイダーと、クラウド インフラストラクチャを構成する要素を指定できます。 構成ファイルを作成したら、"実行プラン" を作成します。これにより、インフラストラクチャの変更をデプロイ前にプレビューすることができます。 変更を確認したら、実行プランを適用してインフラストラクチャをデプロイします。

Visual Studio Code の Terraform 拡張機能を使用すると、エディターから Terraform を操作できます。 この拡張機能を使用して、Terraform 構成の作成、テスト、実行を行うことができます。

この記事では、次のことについて説明します。

  • Azure Terraform Visual Studio Code 拡張機能のインストール
  • 拡張機能を使用して Azure リソース グループを作成する
  • リソース グループが作成されたことを確認する
  • 拡張機能を使用したテストが完了したら、リソース グループを削除する

1. 環境を構成する

  • Azure サブスクリプション:Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

2. Azure Terraform Visual Studio Code 拡張機能をインストールする

  1. Visual Studio Code を起動します。

  2. 左側のメニューから [拡張機能] を選択し、検索テキスト ボックスに Azure Terraform と入力します。

    Search Visual Studio Code extensions in Marketplace.

  3. 拡張機能の一覧から、Azure Terraform 拡張機能を見つけます。 これは、拡張機能の一覧の先頭に表示されているはずです。

  4. 拡張機能がまだインストールされていない場合は、拡張機能の [インストール] オプションを選択します。

    重要なポイント:

    • Azure Terraform 拡張機能の [インストール] を選択すると、Visual Studio Code によって Azure アカウントの拡張機能が自動的にインストールされます。
    • Azure アカウントは、Azure Terraform 拡張機能の依存関係ファイルです。 このファイルは、Azure および Azure 関連のコード拡張機能に対する認証に使用されます。
  5. 拡張機能のインストールを確認するには、検索テキスト ボックスに @installed と入力します。 Azure Terraform 拡張機能と Azure アカウント拡張機能の両方が、インストール済み拡張機能の一覧に表示されます。

    View installed Terraform extensions.

お使いの Cloud Shell 環境でサポートされているすべての Terraform コマンドを、Visual Studio Code 内から実行できるようになりました。

3. Terraform コードを実装する

  1. サンプルの Terraform コードをテストするディレクトリを作成し、それを現在のディレクトリにします。

  2. providers.tf という名前のファイルを作成し、次のコードを挿入します。

    terraform {
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~>3.0"
        }
        random = {
          source  = "hashicorp/random"
          version = "~>3.0"
        }
      }
    }
    
    provider "azurerm" {
      features {}
    }
    
  3. main.tf という名前のファイルを作成し、次のコードを挿入します。

    resource "random_pet" "rg_name" {
      prefix = var.resource_group_name_prefix
    }
    
    resource "azurerm_resource_group" "rg" {
      location = var.resource_group_location
      name     = random_pet.rg_name.id
    }
    
  4. プロジェクト変数を格納する variables.tf という名前のファイルを作成し、次のコードを挿入します。

    variable "resource_group_location" {
      type        = string
      default     = "eastus"
      description = "Location of the resource group."
    }
    
    variable "resource_group_name_prefix" {
      type        = string
      default     = "rg"
      description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
    }
    
  5. プロジェクト変数を格納する outputs.tf という名前のファイルを作成し、次のコードを挿入します。

    output "resource_group_name" {
      value = azurerm_resource_group.rg.name
    }
    

4. コードを Cloud Shell にプッシュする

  1. [表示] メニューの [コマンド パレット] を選択します。

  2. [コマンド パレット] テキスト ボックスで Azure Terraform: Push の入力を開始し、表示されたら選択します。

  3. [OK] を選択して、Cloud Shell を開くことを確認します。

    Confirm the opening of Cloud Shell.

    重要なポイント:

    • 構成の azureTerraform.files 設定に定義されているフィルターを満たすワークスペース ファイルが Cloud Shell にコピーされます。

5. Visual Studio Code 内で Terraform を初期化する

  1. [表示] メニューの [コマンド パレット] を選択します。

  2. [コマンド パレット] テキスト ボックスで Azure Terraform: Init の入力を開始し、表示されたら選択します。

    重要なポイント:

    • このオプションを選択することは、コマンド ラインから terraform init を実行して Terraform デプロイメントを初期化するのと同じです。
    • このコマンドによって、Azure リソース グループを作成するために必要な Azure モジュールがダウンロードされます。
  3. プロンプトに従って、サポートされている最新バージョンの nodejs など、依存関係をインストールします。

  4. 既定の Azure サブスクリプションで Cloud Shell を初めて使用する場合は、画面の指示に従って環境を構成してください。

6. Visual Studio Code 内で Terraform 実行プランを作成する

  1. [表示] メニューの [コマンド パレット] を選択します。

  2. [コマンド パレット] テキスト ボックスで Azure Terraform: Plan の入力を開始し、表示されたら選択します。

    重要なポイント:

    • このコマンドにより terraform plan が実行され、現在のディレクトリ内の Terraform 構成ファイルから実行プランが作成されます。

7. Visual Studio Code 内で Terraform 実行プランを適用する

  1. [表示] メニューの [コマンド パレット] を選択します。

  2. [コマンド パレット] テキスト ボックスで Azure Terraform: Apply の入力を開始し、表示されたら選択します。

  3. 確認を求めるダイアログが表示されたら、yes と入力して <Enter> を押します。

8. 結果を確認する

  1. [表示] メニューの [コマンド パレット] を選択します。

  2. [コマンド パレット] テキスト ボックスで Azure: Open Bash in Cloud Shell の入力を開始し、表示されたら選択します。

  3. az group show を実行して、リソース グループを表示します。 <resource_group_name> プレースホルダーを、Terraform 実行プランの適用後に表示されるリソース グループの、ランダムに生成された名前に置き換えます。

az group show --name <resource_group_name>

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

  1. [表示] メニューの [コマンド パレット] を選択します。

  2. [コマンド パレット] テキスト ボックスで Azure Terraform: Destroy の入力を開始し、表示されたら選択します。

  3. 確認を求めるダイアログが表示されたら、yes と入力して <Enter> を押します。

  4. Terraform によって新しいリソース グループが正常に破棄されたことを確認するには、「結果を確認する」セクションの手順を実行します。

Azure での Terraform のトラブルシューティング

Azure で Terraform を使用する場合の一般的な問題のトラブルシューティング

次のステップ