次の方法で共有


チュートリアル: ARM テンプレートにリソースを追加する

前の チュートリアルでは、最初の空の Azure Resource Manager テンプレート (ARM テンプレート) を作成してデプロイする方法について説明しました。 これで、そのテンプレートに実際のリソースをデプロイする準備ができました。 この場合は、 Azure ストレージ アカウントです。 この手順の完了には 9 分 かかります。

[前提条件]

テンプレートに関する入門チュートリアルを完了することをお勧めしますが、必須ではありません。

Visual Studio Code と、Azure PowerShell または Azure Command-Line インターフェイス (CLI) が必要です。 詳細については、 テンプレート ツールを参照してください。

リソースの追加

既存のテンプレートに Azure ストレージ アカウント定義を追加するには、次の例で強調表示されている JSON ファイルを確認します。 テンプレートのセクションをコピーするのではなく、ファイル全体をコピーし、テンプレートをその内容に置き換えます。

{provide-unique-name} と中かっこ {} を一意のストレージ アカウント名に置き換えます。

Important

ストレージ アカウント名は、Azure 全体で一意である必要があります。 小文字または数字のみで、24 文字の制限があります。 プレフィックスとして store1 などの名前を使用し、イニシャルと今日の日付を追加できます。 たとえば、 名前は store1abc06132022 にすることができます。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "{provide-unique-name}",
      "___location": "eastus",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

ストレージ アカウントの一意の名前を推測するのは簡単ではなく、大規模なデプロイの自動化には適していません。 このチュートリアル シリーズの後半では、一意の名前を簡単に作成できるテンプレート機能を使用します。

リソースのプロパティ

リソースの種類ごとに使用するプロパティを見つける方法を疑問に思うかもしれません。 ARM テンプレート参照を使用して、デプロイするリソースの種類を見つけることができます。

デプロイするすべてのリソースには、少なくとも次の 3 つのプロパティがあります。

  • type: リソースの種類。 この値は、リソース プロバイダーの名前空間とリソースの種類 ( Microsoft.Storage/storageAccountsなど) の組み合わせです。
  • apiVersion: リソースの作成に使用する REST API のバージョン。 各リソース プロバイダーは独自の API バージョンを発行するため、この値は型に固有です。
  • name: リソースの名前。

また、ほとんどのリソースには、リソースをデプロイするリージョンを設定する ___location プロパティもあります。

その他のプロパティは、リソースの種類と API のバージョンによって異なります。 API バージョンと使用可能なプロパティの間の接続を理解することが重要であるため、詳細を見てみましょう。

このチュートリアルでは、ストレージ アカウントをテンプレートに追加します。 ストレージ アカウントの API バージョンは 、storageAccounts 2021-09-01 で確認できます。 テンプレートにすべてのプロパティを追加するわけではありません。 プロパティの多くは省略可能です。 Microsoft.Storage リソース プロバイダーは新しい API バージョンをリリースできますが、デプロイするバージョンを変更する必要はありません。 そのバージョンを引き続き使用し、デプロイの結果が一貫していることを確認できます。

古い API バージョン を表示すると、より小さなプロパティ セットを使用できる場合があります。

リソースの API バージョンを変更する場合は、そのバージョンのプロパティを評価し、テンプレートを適切に調整してください。

テンプレートのデプロイ

テンプレートをデプロイしてストレージ アカウントを作成できます。 履歴で簡単に見つけられるように、デプロイに別の名前を付けます。

リソース グループを作成していない場合は、「リソース グループの 作成」を参照してください。 この例では、templateFileに示すように、変数をテンプレート ファイルへのパスに設定していることを前提としています。

New-AzResourceGroupDeployment `
  -Name addstorage `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile

デプロイが失敗した場合は、 verbose スイッチを使用して、作成しているリソースに関する情報を取得します。 デバッグの詳細を取得するには、 debug スイッチを使用します。

これらのエラーは、次の 2 つの展開エラーが発生する可能性があります。

  • Error: Code=AccountNameInvalid; Message={provide-unique-name} が有効なストレージ アカウント名ではありません。 ストレージ アカウント名の長さは 3 ~ 24 文字で、数字と小文字のみを使用する必要があります。

    テンプレートで、 {provide-unique-name} を一意のストレージ アカウント名に置き換えます。 「リソースの追加」を参照してください。

  • Error: Code=StorageAccountAlreadyTaken; Message=The storage account named store1abc09092019 は既に取得されています。

    テンプレートで、別のストレージ アカウント名を試します。

このデプロイは、ストレージ アカウントを作成しているため、空のテンプレートのデプロイよりも時間がかかります。 約 1 分かかる場合があります。

デプロイを検証する

デプロイを確認するには、Azure portal からリソース グループを探索します。

  1. Azure portal にサインインします。
  2. 左側のメニューから、[ リソース グループ] を選択します。
  3. myResourceGroup の左側にあるチェック ボックスをオンにし、myResourceGroup を選択します
  4. デプロイしたリソース グループを選択します。
  5. ストレージ アカウントがデプロイされていることがわかります。
  6. デプロイ ラベルに " デプロイ: 2 成功" と表示されていることに注意してください。

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

次のチュートリアルに進む場合は、リソース グループを削除する必要はありません。

ここで停止している場合は、リソース グループを削除して、デプロイしたリソースをクリーンアップできます。

  1. Azure portal で、左側のメニューから [リソース グループ ] を選択します。
  2. 任意のフィールドの [フィルター] ボックスにリソース グループ名を入力します。
  3. myResourceGroup の横にあるチェック ボックスをオンにし、 myResourceGroup または選択したリソース グループ名を選択します。
  4. トップ メニューから [リソース グループの削除] を選択します。

次のステップ

Azure ストレージ アカウントをデプロイするための単純なテンプレートを作成しました。 後のチュートリアルでは、パラメーター、変数、リソース、出力をテンプレートに追加する方法について説明します。 これらの機能は、はるかに複雑なテンプレートの構成要素です。