クイックスタート: Visual Studio Code を使用して ARM テンプレートを作成する

このクイック スタートでは、Visual Studio Code を使用して Azure Resource Manager テンプレート (ARM テンプレート) を作成します。 構文に重点を置いたチュートリアルについては、「チュートリアル: 初めての ARM テンプレートを作成してデプロイする」を参照してください。

Important

Visual Studio Code 用の Azure Resource Manager (ARM) ツール拡張機能 は非推奨となり、2025 年 10 月 1 日以降はサポートされなくなります。 Bicep 開発では、 Visual Studio Code 用の Bicep 拡張機能を使用することをお勧めします。 詳しくは、「クイックスタート: Visual Studio Code を使用して Bicep ファイルを作成する」をご覧ください。 GitHub Codespaces などの "一時的なインストール" メソッドは、非推奨になった後も引き続き機能します。 拡張機能を手動でインストールするには、 ここで入手できます。

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

このクイック スタートを完了するには、 Visual Studio Code が必要です。 また、Azure CLI か Azure PowerShell モジュールのどちらかがインストールされて認証されている必要があります。

ARM テンプレートを使用する

"azuredeploy. json" という名前の新しいファイルを Visual Studio Code で作成して開きます。

ARM テンプレートをスキャフォールディングするために、次の JSON スニペットをファイルに追加します。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {},
  "functions": [],
  "variables": {},
  "resources": [],
  "outputs": {}
}

テンプレートには、 parameters、 functions、 variables、 resources、 outputsの各セクションがあります。 各セクションは現在空です。

Azure リソースを追加する

次のスニペットで resources セクションを更新して、ストレージ アカウントを含めます。

"resources": [{
  "name": "storageaccount1",
  "type": "Microsoft.Storage/storageAccounts",
  "apiVersion": "2025-06-01",
  "tags": {
    "displayName": "storageaccount1"
  },
  "location": "[resourceGroup().location]",
  "kind": "StorageV2",
  "sku": {
    "name": "Premium_LRS",
    "tier": "Premium"
  }
}],

文書を読みやすくするには、[Alt] + [Shift] + [F] を使用します。

テンプレート パラメーターを追加する

ストレージ アカウント名のパラメーターを含むように parameters セクションを更新します。

"parameters": {
  "storageAccountName": {
    "type": "string",
    "metadata": {
      "description": "Storage account name"
    },
    "defaultValue": "[format('storage{0}', uniqueString(resourceGroup().id))]"
  }
},

Azure ストレージ アカウント名の長さは 3 文字以上、24 文字以下です。 minLength と maxLength の両方をパラメーターに追加し、適切な値を指定します。

  "parameters": {
    "storageAccountName": {
      "type": "string",
      "metadata": {
        "description": "Storage account name"
      },
      "defaultValue": "[format('storage{0}', uniqueString(resourceGroup().id))]",
      "minLength": 3,
      "maxLength": 24
    }
  },

次に、ストレージ リソースで、パラメーターを使用するように name プロパティを更新します。

  "resources": [
    {
      "name": "[parameters('storageAccountName')]",
      "type": "Microsoft.Storage/storageAccounts",
      ...

完了すると、テンプレートは次のようになります。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountName": {
      "type": "string",
      "metadata": {
        "description": "Storage account name"
      },
      "defaultValue": "[format('storage{0}', uniqueString(resourceGroup().id))]",
      "minLength": 3,
      "maxLength": 24
    }
  },
  "functions": [],
  "variables": {},
  "resources": [
    {
      "name": "[parameters('storageAccountName')]",
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-06-01",
      "tags": {
        "displayName": "storageaccount1"
      },
      "location": "[resourceGroup().location]",
      "kind": "StorageV2",
      "sku": {
        "name": "Premium_LRS",
        "tier": "Premium"
      }
    }
  ],
  "outputs": {}
}

テンプレートのデプロイ

ctrl + ` キーの組み合わせを使用して Visual Studio Code の統合ターミナルを開き、Azure CLI または Azure PowerShell のどちらかのモジュールを使用してテンプレートをデプロイします。

az group create --name arm-vscode --location eastus

az deployment group create --resource-group arm-vscode --template-file azuredeploy.json 

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

Azure リソースが不要になったら、Azure CLI か Azure PowerShell のどちらかのモジュールを使用してクイックスタート リソース グループを削除します。

az group delete --name arm-vscode

次のステップ