このチュートリアルでは、Azure Resource Manager テンプレート (ARM テンプレート) について説明します。 スターター テンプレートを作成して Azure にデプロイする方法を示します。 テンプレートの構造と、テンプレートを操作するために必要なツールについて説明します。 この手順の完了には 12 分 かかりますが、実際の終了時間はインストールする必要があるツールの数によって異なります。
このチュートリアルは、シリーズの最初のチュートリアルです。 シリーズを進めるにつれて、ARM テンプレートのすべてのコア 部分を調べるまで、開始テンプレートを段階的に変更します。 これらの要素は、より複雑なテンプレートの構成要素です。 シリーズの終わりまでに、独自のテンプレートを作成し、テンプレートを使用してデプロイを自動化する準備ができていることを期待しています。
テンプレートを使用する利点と、テンプレートを使用してデプロイを自動化する必要がある理由については、 ARM テンプレートの概要を参照してください。 ガイド付き一連の Learn モジュールを使用した ARM テンプレートの詳細については、 JSON ARM テンプレートを使用した Azure でのリソースのデプロイと管理に関するページを参照してください。
Microsoft Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウントを作成 してください。
ヒント
ARM テンプレートを初めて使用する場合は、代わりに Bicep の学習を検討してください。 Bicep は、ARM テンプレートと同じ機能を提供するが、使いやすい構文を備えた新しい言語です。 Bicep の学習を開始するには、「 クイック スタート: Visual Studio Code を使用して Bicep ファイルを作成する」を参照してください。
ツールを取得する
まず、テンプレートを作成してデプロイするために必要なツールがあることを確認します。 これらのツールをローカル コンピューターにインストールします。
Editor
テンプレートは JavaScript Object Notation (JSON) ファイルです。 テンプレートを作成するには、Visual Studio Code を使用できます。
コマンド ラインデプロイ
テンプレートをデプロイするには、Azure PowerShell または Azure Command-Line インターフェイス (CLI) も必要です。 Azure CLI を使用する場合は、バージョン 2.37.0 以降が必要です。 インストール手順については、以下を参照してください。
- Azure PowerShell をインストールする
- Windows での Azure CLI のインストール
- Linux での Azure CLI のインストール
- macOS での Azure CLI のインストール
Azure PowerShell または Azure CLI をインストールしたら、必ず初めてサインインしてください。 ヘルプについては、「 サインイン - PowerShell または サインイン - Azure CLI」を参照してください。
Important
Azure CLI を使用している場合は、バージョン 2.37.0 以降があることを確認してください。 Azure PowerShell を使用している場合は、バージョン 7.2.4 以降があることを確認してください。 このチュートリアルで示すコマンドは、以前のバージョンを使用している場合は機能しません。 インストールされているバージョンを確認するには、 az --version
を使用します。
これで、テンプレートの学習を開始する準備ができました。
最初のテンプレートを作成する
Visual Studio Code を開きます。
[ ファイル ] メニューの [ 新しいファイル ] を選択して、新しいファイルを作成します。
[ ファイル ] メニューの [ 名前を付けて保存] を選択します。
ファイルに azuredeploy という名前を付け、json ファイル拡張子を選択します。 ファイルの完全な名前は azuredeploy.json。
ファイルをワークステーションに保存します。 テンプレートをデプロイするときに後でそのパスを指定する必要があるため、覚えやすいパスを選択します。
次の JSON をコピーしてファイルに貼り付けます。
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [] }
Visual Studio Code 環境の外観を次に示します。
このテンプレートでは、リソースはデプロイされません。 何か問題が発生する可能性を最小限に抑えながら、テンプレートをデプロイする手順を理解できるように、空のテンプレートから始めます。
JSON ファイルには、次の要素があります。
-
$schema
: JSON スキーマ ファイルの場所を指定します。 スキーマ ファイルには、テンプレート内で使用できるプロパティが記述されています。 たとえば、スキーマは、テンプレートの有効なプロパティの 1 つとしてresources
を定義します。 スキーマの日付が 2019-04-01 であることを心配しないでください。 このスキーマ バージョンは最新であり、最新のすべての機能が含まれています。 スキーマの日付は、導入以降、破壊的変更がないため変更されていません。 -
contentVersion
: テンプレートのバージョン (1.0.0.0 など) を指定します。 この要素には任意の値を指定できます。 この値を使用して、テンプレートの大幅な変更を文書化します。 テンプレートを使用してリソースをデプロイする場合は、この値を使用して、適切なテンプレートを使用していることを確認できます。 -
resources
: デプロイまたは更新するリソースが含まれます。 現時点では空ですが、後でリソースを追加できます。
-
ファイルを保存します。
これで、最初のテンプレートが作成されました。
Azure にサインインする
Azure PowerShell または Azure CLI の使用を開始するには、Azure 資格情報を使用してサインインします。
次のコード セクションのタブを選択して、Azure PowerShell と Azure CLI を選択します。 この記事の CLI の例は、Bash シェル用に記述されています。
Connect-AzAccount
複数の Azure サブスクリプションがある場合は、使用するサブスクリプションを選択します。
SubscriptionName
をサブスクリプション名に置き換えます。 サブスクリプション名の代わりにサブスクリプション ID を使用することもできます。
Set-AzContext SubscriptionName
リソース グループの作成
テンプレートをデプロイするときに、リソースを含めるリソース グループを指定できます。 デプロイ コマンドを実行する前に、Bash Azure CLI または Azure PowerShell を使用してリソース グループを作成します。
注
Azure CLI のサンプルは、bash シェル用に記述されています。 Windows PowerShell またはコマンド プロンプトでこのサンプルを実行するには、バック スラッシュを削除し、次のようなコマンドを 1 行として記述する必要がある場合があります。
New-AzResourceGroup `
-Name myResourceGroup `
-Location "Central US"
テンプレートのデプロイ
テンプレートをデプロイするには、Azure CLI または Azure PowerShell を使用します。 作成したリソース グループを使用します。 デプロイ履歴で簡単に識別できるように、デプロイに名前を付けます。 便宜上、テンプレート ファイルへのパスを格納する変数も作成します。 この変数を使用すると、デプロイのたびにパスを再入力する必要がないため、デプロイ コマンドを簡単に実行できます。
{provide-the-path-to-the-template-file}
と中括弧{}
をテンプレートファイルへのパスに置き換えてください。
$templateFile = "{provide-the-path-to-the-template-file}"
New-AzResourceGroupDeployment `
-Name blanktemplate `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile
デプロイ コマンドは結果を返します。
ProvisioningState
を探して、デプロイが成功したかどうかを確認します。
注
デプロイが失敗した場合は、 verbose
スイッチを使用して、作成されているリソースに関する情報を取得します。 デバッグの詳細を取得するには、 debug
スイッチを使用します。
デプロイを検証する
デプロイを確認するには、Azure portal からリソース グループを探索します。
Azure portal にサインインします。
左側のメニューから、[ リソース グループ] を選択します。
myResourceGroup の左側にあるチェック ボックスをオンにし、myResourceGroup を選択します。
前の手順で作成したリソース グループを選択します。 既定の名前は myResourceGroup です。 空のテンプレートをデプロイしたため、リソース グループにはまだリソースがありません。
概要の中央にある [要点 ] セクションに、展開の状態が [ デプロイ] の横に表示されます。 [1 成功] を選択します。
リソース グループのデプロイの履歴が表示されます。 blanktemplate の左側にあるチェック ボックスをオンにし、blanktemplate を選択します。
デプロイの概要が表示されます。 この場合、リソースがデプロイされていないため、見るべきことがあまりありません。 このシリーズの後半では、デプロイ履歴の概要を確認すると役立つ場合があります。 左側には、デプロイで使用された入力、出力、およびテンプレートが表示されます。
リソースをクリーンアップする
次のチュートリアルに進む場合は、リソース グループを削除する必要はありません。
ここで停止している場合は、リソース グループを削除できます。
Azure portal で、左側のメニューから [リソース グループ ] を選択します。
任意のフィールドの [フィルター] にリソース グループ名を入力します。.. テキスト フィールド。
myResourceGroup の横にあるチェック ボックスをオンにし、myResourceGroup またはリソース グループ名を選択します。
トップ メニューから [リソース グループの削除] を選択します。
次のステップ
Azure にデプロイするための単純なテンプレートを作成しました。 次のチュートリアルでは、テンプレートにストレージ アカウントを追加し、それをリソース グループにデプロイする方法について説明します。