【Bicep 入門 #0】Bicepを書く環境を整備する

この記事の内容

  • BicepはARMテンプレートをよりシンプルに書けるようにした宣言型言語です
  • 実際にゼロから新しいAzure環境を用意して、Bicep開発環境を構築します
  • Visual Studio Codeと公式Bicep拡張機能のインストール手順を解説します
  • Azure CLIとAzure PowerShellモジュールの両方のインストール方法を紹介します
  • 環境の依存関係トラブルを避けるためのポイントについても触れます

Bicepとは

BicepはAzureのARMテンプレートを宣言型の言語で記述するためのDSL(ドメイン固有言語)です。従来のARMテンプレートはJSONで記述する必要があり、記述量が多く複雑になりがちでした。BicepはそのJSONを人間が書きやすい形にシンプル化したもので、実際に書いてみると非常に簡単に感じられます。

JSONのARMテンプレートを見ると、パラメーターファイルや本体テンプレートのJSON構造が複雑で、ゼロから自分で書く気にはなかなかなれません。しかしBicepであれば、同じ内容をよりシンプルに表現できます。


新しいAzure環境の準備

今回はゼロからの環境構築を体験するため、既存の環境は使わず、Azureに新しいリソースグループを作成してそこからスタートします。

Azureポータルでリソースグループを作成する際、実は画面上でARMテンプレートをダウンロードするオプションが表示されます。たとえばVMを作成した場合、そのテンプレートをダウンロードして確認することができます。これがJSONのARMテンプレートです。Bicepを学ぶ際には、このJSONテンプレートと見比べながら進めると理解が深まります。


Visual Studio Codeのインストール

Bicepの開発環境として、Visual Studio Codeを使用することを強くお勧めします。ほぼ一択と言える選択肢で、Microsoftも公式に推奨しています。

  1. Visual Studio Codeの公式サイトからインストーラーをダウンロードします
  2. インストーラーを実行してインストールします

インストールが完了したら、次はBicep専用の拡張機能を追加します。


Bicep拡張機能のインストール

Visual Studio Codeを開いて、拡張機能マーケットプレイスで「Bicep」と検索し、公式のBicep拡張機能をインストールします。

この拡張機能を入れることで、Bicepファイルの編集時にコード補完やシンタックスハイライトなどの支援機能が使えるようになります。これにより記述が非常に楽になるため、Bicepを書くなら必ず入れておきましょう。


Azure CLIのインストール

Bicepのデプロイに必要なCLIツールを準備します。まずAzure CLIをインストールします。

Azure CLIは最新リリースをMicrosoftの公式ページからダウンロードしてインストールできます。インストール後、ターミナルを再起動してバージョンを確認します。

az version

正常にインストールされていれば、バージョン情報が表示されます。

Azure CLIはコマンドの構造がシンプルで、az の後にサービス名を続けるだけで操作できます。また、最近はドキュメントのサンプルコマンドにAzure CLIが採用されているケースが多い印象です。


Azure PowerShellモジュールのインストール

Azure CLIに加えて、Azure PowerShellモジュールもインストールしておくと、複雑な操作を行う際に便利です。PowerShellはオブジェクト指向的な操作が得意なため、細かい処理を記述する際に役立ちます。

PowerShellを管理者権限で開き、以下のコマンドを実行してAzureモジュールをインストールします。

Install-Module -Name Az -Scope CurrentUser

-Scope CurrentUser を指定することで、現在のユーザーのスコープにインストールされます。

インストールには時間がかかる場合があります。また、古いPowerShell環境では旧バージョンのAzureRMモジュールとの競合が起きることがあります。その場合は古いモジュールをアンインストールしてからインストールし直すと解決することが多いです。


環境構築のポイント:コンテナーを使う方法もある

Visual Studio CodeにはDev Containersという機能があり、コンテナー内で開発環境を構築することもできます。コンテナーを使うことで、依存関係の問題を気にせずに済むというメリットがあります。

ただし、コンテナー環境に慣れていない場合は、まずローカルのWindowsに直接ツールをインストールする方法から始める方が入りやすいです。今回は普通にWindowsにインストールする方法を採用しています。


まとめ

今回はBicep入門の第0回として、開発環境の整備を行いました。構築した環境は以下のとおりです。

  • Visual Studio Code — Bicep開発のメインエディター
  • VS Code Bicep拡張機能 — コード補完・シンタックスハイライト対応
  • Azure CLI — Azureリソース操作のCLIツール
  • Azure PowerShellモジュール — PowerShellからAzureを操作するモジュール

JSONのARMテンプレートと比べて、BicepはよりシンプルにAzureインフラをコードで定義できます。次回からはいよいよBicepを実際に書いていきます。VMの作成を通じてダウンロードしたARMテンプレートと見比べながら学習を進めると、Bicepのシンプルさが実感できるでしょう。