ARMテンプレート

【Azure】ARMテンプレートからAzureリソースを自動で作る方法解説

こんにちは、インフラエンジニアのryuです。

今回の記事では、ARMテンプレートからリソースを作る方法を解説します。AzureARMテンプレートを使用することで、Azureのリソースをコードで管理することができます。ARMテンプレートの作成からデプロイまで、使い方を解説します。Azureでインフラを構築する人必見の内容です。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

ARMテンプレートからリソースを作る方法を解説

ARMとはAzure Resource ManagerのことでAzureの管理サービスです。 ARMテンプレートは、デプロイを自動化し、インフラストラクチャの手法をコードとして使用することができます。IaCと呼ばれるものですね。

IaCについては、以下の記事で紹介しているので、参考にしてください。

今回はTerraformではなく、ARMテンプレートを使って、インフラを自動で作りたいと思います。

手順①.ARMテンプレートを作る

では、早速やっていきましょう。 今回は、こちらのMicrosoftのブログを参考にやっていきます。

https://blogs.msdn.microsoft.com/azuredev/2017/02/11/iac-on-azure-an-introduction-of-infrastructure-as-code-iac-with-azure-resource-manager-arm-template/

全て英語なので、解読するのは大変ですが、、、

まず、「テンプレート」と検索してテンプレートをクリックします。

ARMテンプレート検索

テンプレートの画面に行ったら「追加」をクリックします。

ARMテンプレート追加

「全般」では、名前と説明を入力します。

ARMテンプレートにはJSON形式のテンプレートを入力します。

ARMテンプレートは各リソースの「エクスポート」でそのリソースのテンプレートを表示させることができます。

今回は、GitHubより、WebAppのサンプルコードを使います。↓を参考に。

GitHub – Azure/azure-quickstart-templates: Azure Quickstart Templates

テンプレートを貼り付けたら下の「追加」を押します。

ARMテンプレート貼り付け

これでARMテンプレート作成が完了しました。

手順②.ARMテンプレートを実行する

ARMテンプレートを実行してリソースの作成をしていきます。

先ほど作成したARMテンプレートをクリックします。

ARMテンプレート実行

次に「展開」をクリックします。

ARMテンプレート展開

そして、リソースの設定をします。

リソースグループの選択とwebappの名前を入力します。

同意の欄にチェックを入れ「購入」をクリックします。

購入

購入を押すとデプロイが始まります。

3分くらいすると、WebAppとAppServiceプランが作成されています。

作成完了

ARMテンプレートからリソースが作成されました。

AzureARMテンプレートを使うメリット

AzureARMテンプレートを使用ということは、インフラをコード化するということです。

インフラをコード化することで次のようなメリットがあります。

  • インフラの管理が容易になる
  • インフラを作り直すときに、簡単に作れる
  • 正しい順番でデプロイされるので、構築ミスが少なくなる

その他にも様々なメリットがあります。

インフラを作成するときは、AzureARMテンプレートを使用したり、Terraformを使用したりして、コードで管理するようにしましょう!Terraformについては、こちらの記事で解説しております。

これで、ARMテンプレートからAzureのリソースを自動で作成する方法を解説を終わります。

AzureARMテンプレートまとめ

今回の記事では、ARMテンプレートからリソースを作る方法を解説しました。作成方法は簡単です。しかし、ARMテンプレートは作成失敗したときにログが分かりづらい感じがします。なので、私はTerraformで自動化を進めています。自動化ツールはいくつかあるので、自分が使いやすいものを使いましょう。

また、Azureをさらに勉強したい方は、こちらの参考書がオススメです。

UdemyでもAzureの講座がいくつかあるので受講してみましょう!

以上で、記事を終わります!ありがとうございました。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST