クイックスタート: Visual Studio Code を使用して ARM テンプレートを作成する
Visual Studio Code 用の Azure Resource Manager ツールでは、言語サポート、リソース スニペット、およびリソース オートコンプリートが提供されます。 これらのツールは、Azure Resource Manager テンプレート (ARM テンプレート) の作成と検証に役立つため、ARM テンプレートの作成と構成に推奨される方法です。 このクイックスタートでは、拡張機能を使用して ARM テンプレートを一から作成します。 操作では、ARM テンプレート スニペット、検証、入力候補、パラメーター ファイルのサポートなどの拡張機能を使用します。
このクイック スタートでは、Visual Studio Code 拡張機能を使用して ARM テンプレートをビルドすることに重点を置いています。 構文に重点を置いたチュートリアルについては、「チュートリアル: 初めての ARM テンプレートを作成してデプロイする」を参照してください。
このクイックスタートを完了するには、Azure Resource Manager ツールの拡張機能がインストールされている Visual Studio Code が必要です。 また、Azure CLI か Azure PowerShell モジュールのどちらかがインストールされて認証されている必要があります。
Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
ヒント
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 テンプレートの基本的な構成要素を作成します。
Visual Studio Code 言語モードが JSON から Azure Resource Manager テンプレートに変更されたことに注目してください。 この拡張機能には、テンプレート固有の検証、入力候補、その他の言語サービスを提供する ARM テンプレート固有の言語サーバーが含まれています。
Azure リソースを追加する
この拡張機能には、多くの Azure リソースのスニペットが含まれています。 これらのスニペットを使用して、テンプレートのデプロイにリソースを簡単に追加できます。
テンプレートの resources ブロックにカーソルを置き、「storage
」と入力し、"arm-storage" スニペットを選択します。
このアクションにより、ストレージ リソースがテンプレートに追加されます。
Tab キーを使用して、ストレージ アカウントの構成可能なプロパティを切り替えることができます。
入力候補と検証
拡張機能の最も強力な機能の 1 つが、Azure スキーマとの統合です。 Azure スキーマは、検証とリソース対応の入力候補機能を備えた拡張機能を提供します。 ストレージ アカウントを変更して、検証と入力候補が動作することを確認してみましょう。
最初に、ストレージ アカウントの種類を、megaStorage
などの無効な値に更新します。 このアクションでは、megaStorage
が有効な値ではないことを示す警告が生成されます。
入力候補機能を使用するには、megaStorage
を削除し、二重引用符内にカーソルを置き、ctrl
+ space
を押します。 このアクションでは、有効な値の入力候補一覧が表示されます。
テンプレート パラメーターを追加する
ここでは、ストレージ アカウント名を指定するためのパラメーターを作成して使用します。
parameters ブロックにカーソルを置き、キャリッジ リターンを追加して「"
」と入力し、new-parameter
スニペットを選択します。 このアクションにより、ジェネリック パラメーターがテンプレートに追加されます。
パラメーターの名前を storageAccountName
に、説明を Storage account name
に更新します。
Azure ストレージ アカウント名の長さは 3 文字以上、24 文字以下です。 minLength
と maxLength
の両方をパラメーターに追加し、適切な値を指定します。
次に、ストレージ リソースで、パラメーターを使用するように 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