このクイック スタートでは、Visual Studio Code 用の Azure Resource Manager Tools 拡張機能を使用して、Azure Resource Manager テンプレート (ARM テンプレート) を作成および検証します。 これらのツールは、ARM テンプレートを効率的に構築および構成するのに役立つ言語サポート、リソース スニペット、およびリソースオートコンプリートを提供します。 このガイドに従うと、ARM テンプレート スニペット、検証、入力候補、パラメーター ファイルのサポートなど、拡張機能の機能が表示されます。
このクイックスタートでは、Visual Studio Code 拡張機能を使用して ARM テンプレートをビルドすることに重点を置いています。 構文に重点を置いたチュートリアルについては、「チュートリアル: 初めての ARM テンプレートを作成してデプロイする」を参照してください。
Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
このクイックスタートを完了するには、Azure Resource Manager ツールの拡張機能がインストールされている Visual Studio Code が必要です。 また、Azure CLI か Azure PowerShell モジュールのどちらかがインストールされて認証されている必要があります。
Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
Tip
ARM テンプレートと同じ機能を備え、構文も使いやすいため、Bicep をお勧めします。 詳しくは、「クイックスタート: Visual Studio Code を使用して Bicep ファイルを作成する」をご覧ください。
Note
Visual Studio Code 用 Azure Resource Manager Tools 拡張機能の現在のリリースでは、languageVersion 2.0 で行われた拡張機能は認識されません。
ARM テンプレートを使用する
"azuredeploy. json" という名前の新しいファイルを Visual Studio Code で作成して開きます。 コード エディターに「arm
」と入力します。これにより、ARM テンプレートをスキャフォールディングするための Azure Resource Manager スニペットが開始されます。
arm!
を選択して、Azure リソース グループのデプロイの対象となるテンプレートを作成します。
このスニペットは、ARM テンプレートの基本的な構成要素を作成します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"functions": [],
"variables": {},
"resources": [],
"outputs": {}
}
Visual Studio Code 言語モードが JSON から Azure Resource Manager テンプレートに変更されたことに注目してください。 この拡張機能には、テンプレート固有の検証、入力候補、その他の言語サービスを提供する ARM テンプレート固有の言語サーバーが含まれています。
Azure リソースを追加する
この拡張機能には、多くの Azure リソースのスニペットが含まれています。 これらのスニペットを使用して、テンプレートのデプロイにリソースを簡単に追加します。
テンプレートの resources ブロックにカーソルを置き、「storage
」と入力し、arm-storage スニペットを選択します。
このアクションにより、ストレージ リソースがテンプレートに追加されます。
"resources": [{
"name": "storageaccount1",
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2023-05-01",
"tags": {
"displayName": "storageaccount1"
},
"location": "[resourceGroup().location]",
"kind": "StorageV2",
"sku": {
"name": "Premium_LRS",
"tier": "Premium"
}
}],
Tab キーを使用して、ストレージ アカウントの構成可能なプロパティを切り替えます。
入力候補と検証
拡張機能の最も強力な機能の 1 つが、Azure スキーマとの統合です。 Azure スキーマは、検証とリソース対応の入力候補機能を備えた拡張機能を提供します。 検証と完了の動作を確認するには、ストレージ アカウントを変更します。
最初に、ストレージ アカウントの種類を、megaStorage
などの無効な値に更新します。 このアクションにより、megaStorage
が有効な値ではないことを示す警告が生成されます。
入力候補機能を使用するには、megaStorage
を削除し、二重引用符内にカーソルを置き、ctrl
+ space
を押します。 このアクションでは、有効な値の入力候補一覧が表示されます。
テンプレート パラメーターを追加する
ここでは、ストレージ アカウント名を指定するためのパラメーターを作成して使用します。
parameters ブロックにカーソルを置き、キャリッジ リターンを追加して「"
」と入力し、new-parameter
スニペットを選択します。 このアクションにより、ジェネリック パラメーターがテンプレートに追加されます。
パラメーターの名前を storageAccountName
に、説明を Storage account name
に更新します。
"parameters": {
"storageAccountName": {
"type": "string",
"metadata": {
"description": "Storage account name"
}
}
},
Azure ストレージ アカウント名の長さは 3 文字以上、24 文字以下です。
minLength
と maxLength
の両方をパラメーターに追加し、適切な値を指定します。
"parameters": {
"storageAccountName": {
"type": "string",
"metadata": {
"description": "Storage account name"
},
"minLength": 3,
"maxLength": 24
}
},
次に、ストレージ リソースで、パラメーターを使用するように name プロパティを更新します。 これを行うには、現在の名前を削除します。 二重引用符と左角かっこ [
を入力します。これにより、ARM テンプレート関数の一覧が生成されます。 一覧から "parameters" を選択します。
丸かっこ内に一重引用符 '
入力すると、テンプレートに定義されているすべてのパラメーターの一覧が生成されます。この例では "storageAccountName" です。 パラメーターを選択します。
パラメーター ファイルを作成する
ARM テンプレート パラメーター ファイルを使用すると、環境固有のパラメーター値を格納し、デプロイ時にその値をグループとして渡すことができます。 たとえば、テスト環境に固有の値を持つパラメーター ファイルの他に、運用環境用のパラメーター ファイルも持つことができます。
この拡張機能を使用すると、既存のテンプレートからパラメーター ファイルを簡単に作成できます。 これを行うには、コード エディターでテンプレートを右クリックし、Select/Create Parameter File
を選択します。
New
>
All Parameters
を選択し、パラメーター ファイルの名前と場所を選択します。
このアクションにより、新しいパラメーター ファイルが作成され、作成元のテンプレートにマップされます。 テンプレートを選択しているときに、Visual Studio Code ステータス バーで現在のテンプレートまたはパラメーターのファイル マッピングを表示および変更できます。
パラメーター ファイルがテンプレートにマップされたので、拡張機能がテンプレートとパラメーター ファイルの両方を同時に検証します。 この検証を実際に確認するには、パラメーター ファイルの storageAccountName
パラメーターに 2 文字の値を追加し、ファイルを保存します。
ARM テンプレートに戻ると、値がパラメーターの条件を満たしていないことを示すエラーに気付きます。
値を適切なものに更新し、ファイルを保存して、テンプレートに戻ります。 パラメーターのエラーが解決されたことを確認してください。
テンプレートのデプロイ
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 --parameters azuredeploy.parameters.json
リソースをクリーンアップする
Azure リソースが不要になったら、Azure CLI か Azure PowerShell のどちらかのモジュールを使用してクイックスタート リソース グループを削除します。
az group delete --name arm-vscode