【Microsoft Azure】ARM? Bicep? Azureサービスの多種多様な操作方法を紹介! (初学者むけ)

目次
こんにちは、MS開発部の渋谷です。
この記事を読んでいる方は、Azureの開発案件や運用に携わっているのではないでしょうか。
Azureでは各種サービスの操作方法を要件に併せて選ぶことができます。GUIの方が操作しやすく便利なケースもあれば、コードレベルでインフラを管理した方が工数が少なくなる場合もあります。
本記事では、Azureに用意されている様々な操作の方法をご紹介します。
(※本記事は2025年3月時点での情報を元にしています。最新情報はマイクロソフト公式ドキュメントをご確認ください。)
Azureサービスの操作手法は8種類
Azureサービスの操作手法は沢山ありますが、本記事では以下8つの方法をご紹介します。- Azureポータル
- Azure CLI
- Azure PowerShell
- Azure REST API
- ARMテンプレート
- Terraform
- Bicep
- Azure SDK
1. Azureポータル
Azureポータルは、GUIでサービスの操作をすることができる最も簡単な方法です。
クラウドサービスにはそれぞれ管理画面が用意されているかと思いますが、Azureの場合にはAzureポータルと呼ばれる画面でサービスの作成・管理を行うことができます。各種サービスの作成操作だけでなく、サービスの正常性を監視する複数のメトリック情報を元にカスタムのダッシュボードを作ることもできたりします。また多言語にも対応しており、ユーザーの使いやすいようにカスタマイズしながら使うことができるのが特長です。
Azureポータルからサービスを作成したい場合には「+リソースの作成」から作業を開始します。

次の画面で作りたいサービスを選択もしくは検索します。ここでは「Webアプリ」を作成してみます。

最後に必要な情報を選択・入力して「確認および作成」をクリックするとデプロイを進めることができます。

AzureポータルはWeb画面なのでユーザーが感覚的に操作することができます。そのためAzure初学者はもちろんのこと、検証やテストなどでまずは小規模にサクッとサービスをデプロイしたい場合に便利なツールです。一方で基本的にサービスは1個ずつ作成をしなければいけないため、同じ環境の複製には向いていないという特長もあります。(※テンプレートを用いたデプロイの場合にはその限りではありません)
Azureポータルは最も基本的な操作画面のため、一度も見ずに開発をするということはほとんどないかと思いますが、立場や開発フェーズによって使用する頻度が変わるツールになります。
2. Azure CLI
Azure CLIは、CLI(=コマンドラインインターフェース)で操作をすることができる方法です。
クラウドの操作に慣れてくるとCLIでの作業の方が便利なケースがあります。例えば、過去に作った環境と全く同じものを名前だけ変えて作りたいといったケースにおいて、CLIで扱う場合には文字列で保存しておくことができるため、GUI操作のように何度も入力作業を繰り返さずに済むというメリットがあります。
Azure CLIをローカル環境にインストールしたい場合には、こちらをご参照ください。Windows OSだけでなく、macOSやLinux、Dockerコンテナなどマルチ環境にインストールして使うことができるのもAzure CLIの特長です。
Azure CLIの環境構築が面倒な場合には、Azureポータルに用意されている「CloudShell」を使うのもおすすめです。「CloudShell」はWeb上で操作できる開発環境で、Azure CLIとPowerShellがプリインストールされた環境です。そのため、インストール作業をすることなく、すぐにazコマンドを利用することができます。
(例)CloudShellにはAzure CLIがプリインストールされています
3. Azure PowerShell
Azure PowerShellは、PowerShellコマンドレットでAzureの操作をすることができる方法です。
CLIと同じく、PowerShellに慣れている方にとっては非常に便利なオプションかと思います。特にPowerShellはスクリプトの再利用性が高いため、複数サービスや複数環境への展開の際には効果を発揮します。一方でWindowsが前提のツールのため、それ以外の環境で開発をされている方にとっては選びづらいツールかと思います。
WindowsにAzure Powershellをインストールしたい場合には、こちらをご参照ください。Azure CLIと同じく、Azureポータル上の「CloudShell」にもプリインストールされているので、インストール作業が面倒な方はCloudShellを使ってみてください
(例)CloudShellにプリインストールされたAzure Powershellを使ってリソースグループを作成する

4. REST API
Azure REST APIは、RESTful APIでAzureの操作をすることができる方法です。
REST APUの操作に慣れている方にとっては非常に便利なオプションかと思います。curlやPostmanなどのAPI開発ツールがあれば動作を簡易的に検証できるのがREST APIの便利な点です。
Azureのほとんど全ての製品・機能はREST APIで操作できるようになっています。詳細はこちらのドキュメントで確認できます。REST APIはソースコードにも組み込むことができるためAzure操作を自動化したい場合にも便利です。一方でREST APIの操作にはある程度の知識が必要となるため、ご自身のスキルによってはラーニングコストがかかる可能性もあります。
5. ARMテンプレート
ARMはAzure Resource Managerの略称です。日本語では「エーアルエムテンプレート」や「アームテンプレート」と呼ばれます。ARMテンプレートは、Infrastrucre as Code(IaC)でAzureの操作をすることができる方法です。
ARMテンプレートはAzureリソースの構成をコードとして記述できるため、インフラの管理が効率化されます。また、再利用可能なテンプレートのため、同じ構成を複数環境で簡単に展開できるという特長もあります。詳細はこちらをご参照ください。
ARMテンプレートはAzureインフラについての情報を記述するための仕組みです。実際に記述されたものを展開するには、Azureポータル・Azure CLI・PowerShellなどを使ってデプロイ作業を進めます。ARMテンプレートは、開発・テスト・本番などステージングの管理にも役立つ他、git上で管理することでバージョン管理ができるというのも便利なポイントです。一方でベンダーロックインの要素も含むため、企業のクラウド運用ルールにあっているかどうかは確認が必要になります。
6. Terraform
TerraformはHashicorp社によって開発されたオープンソースのInfrastructure as Codeツールです。様々なクラウドの管理に使用されるTerraformですが、Azureの操作にも使うことができます。
Terraformは複数の環境で使用することができるため、特にマルチクラウドで開発をしている場合には非常に優位性があります。ベンダーロックインの影響も受けない為、ビジネス継続性にも役立ちます。また、GitHubやAzure DevOpsなどの開発ツールともシームレスに連携しているため、アプリとインフラのデプロイを自動化することができます。一方で、使ったことが無い人にとっては学習コストがかかるというデメリットはあるかもしれません。
AzureでもTerraformが使えるということは意外と知られていないのですが、マイクロソフトの公式ドキュメントにも情報がまとまっているので、是非見てみてください。
7. Bicep
Bicepは、Azure専用に開発されたIaCツールです。日本語では「バイセップ」と呼びます。
BicepはJSONよりも簡潔で読みやすい構文になってるのが特長です。構成管理が冗長にならず可読性に優れています。
(例)JSONとBicepの比較

また、Azure PolicyやAzure Brueprintsなどともシームレスに連携をしているため、Azureの大規模開発を進めている企業にとっては便利なツールです。一方で、ベンダーロックインになってしまうため、マルチクラウドな企業にとっては適切な選択肢ではない可能性があります。
BicepはVS Codeの拡張機能も提供されており、より開発者向けのツールになります。詳細はマイクロソフト公式ドキュメントをご参照ください。
8. Azure SDK
Azure SDKは、お客様のお好みの言語でAzureを簡単に使用できるように構築されたライブラリのコレクションです。
任意のソースコード内でAzureの操作に関わる記述をすることができます。本記事作成時点では、以下の言語のAzure SDKが提供されています。
- .NET (C#)
- Java
- Typescript/Javascript
- Python
- Go
- C++
- C
- Android
- iOS
C#やTypescriptだけでなく、PythonやGoのSDKが提供されていることに驚かれる方も多いのではないかと思います。Azure SDKを使うことで、Azureの様々なサービスを任意の言語で書かれたソースコードから操作することができるようになります。詳細はこちらをご覧ください。
さいごに
本記事ではAzureを操作するための様々な手法について紹介をしました。開発や運用の要件に併せて柔軟に選ぶことができます。
本記事が技術選定の参考になりましたら幸いです。
以上、最後までご愛読いただき
ありがとうございました。
お問い合わせは、
以下のフォームへご連絡ください。