Azure ARMでテンプレートを作成する


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

ARMとは

Azure Resource Manager(ARM) は、Azure のデプロイおよび管理サービスです。お使いの Azure アカウント内のリソースを作成、更新、および削除できる管理レイヤーを提供します。アクセス制御、ロック、タグなどの管理機能を使用して、デプロイ後にリソースを保護および整理します。

Azure Resource Manager により、アプリを繰り返しデプロイすることができ、リソースが必ず一貫した状態でデプロイされるようにできます。
一つの宣言テンプレートに、アプリのインフラストラクチャと依存関係を定義します。テスト、ステージング、実動といったすべての環境に使用できる柔軟性が、
このテンプレートに備わっています。Azure Marketplace からソリューションを作成する場合、アプリに使用できるテンプレートが自動的にソリューションに含められます。

エディター

Azure CLI ToolsとAzure Resource Manager (ARM) Tools拡張機能が付いてるVisual Studio Codeをお勧めします。

空のテンプレートの作成

1.上記Visual Studio Code を開きます。

2.[File] メニューから [New File] を選択して新しいファイルを作成します。

3.[File] メニューから [Save As…] を選択します。

4.ファイルに azuredeploy という名前を付け、json ファイル拡張子を選択します。 完全なファイル名は azuredeploy.json になります。

5.ご利用のワークステーションにファイルを保存します。 後でテンプレートをデプロイするときにパスを指定するため、覚えやすいパスを選択してください。

6.エディターに「arm」を入力して、スニペットの「arm!」を選択して、Azure リソース グループのデプロイの対象となるテンプレートを作成します。

7.ファイルを保存します。

このテンプレートではリソースをデプロイしません。 間違いが生じる可能性をできるだけ抑えつつ、テンプレートをデプロイする手順に慣れることができるよう、最初は空のテンプレートを扱います。
これで、空のテンプレートを作成完了しました。

テンプレートのデプロイ

1.テンプレートをデプロイするには、Azure CLI または Azure PowerShell を使用します。
僕にとって、一番便利なのはAzure PortalのCloud Shellだと思います。
下記赤枠のアイコンをクリックすると、Cloud Shellの画面が開きます。

2.初回の場合、下記2-1~2-2のとおりに選択します。
 2-1.「PowerShell」を選択します。

 2-2.「ストレージの作成」を選択します。

3.Azure PortalでCloud Shellを開くと、自動的にログインしているアカウントでサインインしますから、「az login」や「az account」などのコマンドがいらないです。

4.下記コマンドを使用してリソース グループを作成します。

New-AzResourceGroup -Name myResourceGroup -Location "japaneast"

5.「myResourceGroup」というリソース グループを作成しました。

6.次のコマンドで、作成済みのリソース グループを使用して、テンプレートのデプロイを行います。

$templateFile = "/usr/csuser/clouddrive/azuredeploy.json"
New-AzResourceGroupDeployment -Name blanktemplate -ResourceGroupName myResourceGroup -TemplateFile $templateFile


デプロイ コマンドから結果が返されます。 デプロイが成功したかどうかは、ProvisioningState を見て確認します。
※Azure Cloud Shellでアクセスできるように、ローカル ファイルをアップロード必要する。ローカル ファイルのアップロードについて、「Azure Cloud Shell にローカル ファイルを転送する」をご参照ください。

7.作成済みのリソース グループ「myResourceGroup」⇒「デプロイ」⇒「blanktemplate」
デプロイ成功のことを確認しました。

Last modified: 2024-02-06

Author