Azure Bicepでストレージアカウントをデプロイ

お疲れ様です。
マルチモニターになってテンションが上がっている宮﨑です。

 
ARMテンプレートで仮想マシンをデプロイの記事を書いている途中でMicrosoft Learnの記事を読んでいてふと目に入った一文。

 
file
ARM テンプレートとはより引用

 
…せっかくだしこれも調べてみますか…という流れで今回はAzure Bicepになります。概要を調べた後は実際に使用してみます。

 

Azure Bicepとは

Bicep は、宣言型の構文を使用して Azure リソースをデプロイするドメイン固有言語 (DSL) です。 Bicep ファイル内で、Azure にデプロイするインフラストラクチャを定義し、そのファイルを開発ライフサイクル全体にわたって使用して、インフラストラクチャを繰り返しデプロイします。 リソースは一貫した方法でデプロイされます。

Bicep では、簡潔な構文、信頼性の高いタイプ セーフ、およびコードの再利用のサポートが提供されます。 Bicep により、Azure のコードとしてのインフラストラクチャ ソリューションに最適な作成エクスペリエンスをオファーします。 Bicep とは

 
プログラミング言語に関する知識を必要とせず、同等のJSON テンプレートと比較すると、より簡潔で読みやすくなっているみたいです。

 

Azure Bicepの使用前の事前準備

Visual Studio Codeに拡張機能をインストール

Visual Studio Code用のBicep拡張機能があるのでインストールします。

 
file

 
サイドバーに表示されているExtensionsのアイコンをクリックして、Bicepと選択し、インストールを行います。

 
file

 
使用可能になりました。

 

Azure CLI、Azure PowerShellのバージョン確認

Azure CLIはバージョン2.20.0以降、Azure PowerShellはバージョン5.6.0以降がインストールしてある必要があります。確認してみましょう。今回はVisual Studio CodeのターミナルでPowerShellを使用してみます。

 
現在のバージョンを確認してみます。

az --version
$PSVersionTable

 
file

 
どちらのバージョンも問題ありませんでした。

 

Bicepのインストール

バージョンの確認が出来たのでBicepをインストールします。

 

az bicep install

 
file
ごめんなさい。スクショし忘れたのでCloudShellで代用しました。
 
これで事前準備は完了です。

 

Azure Bicepでストレージアカウントをデプロイ

本題です。今回は公式ドキュメントのテンプレートフォーマットと、既存のストレージアカウントのJSONビューを参考にしながら新しいストレージアカウントをデプロイしてみます。
Microsoft.Storage ストレージアカウント

 
file

 
テンプレートのフォーマットはかなり長いですが、ストレージアカウントを作成するだけなら必須の項目はこれだけで十分です(後で少し付け加えあり)。

 
file

 
既存のストレージアカウントのJSONビューになります。何がどの構成に対応しているのか確かめることが可能です。参考にしながら必要な項目を埋めていきましょう。

 
file

 
ベストプラクティスではリソースの場所を設定するには、テンプレートにlocationという名前の文字列パラメーターを指定する必要があるとのことだったので、少し変更を加え、完成です。

 
こちらのファイルを既存のリソースグループ(cloud-shell-storage-southeastasia)にデプロイしてみます。

 

az deployment group create --resource-group 作成するリソースグループ名 --template-file コードが記載されたBicepのパス

 
file

 
file

 
file

 
デプロイが完了しました。Azure ポータルで確認してみます。

 
file

 
無事に作成が完了しました。お疲れ様でした。

 

結論

JSONテンプレートと比較するとより簡潔で読みやすくなっているとのことですが、まだ違いがわかるほど自分の能力が追いついていません笑

 
ただデプロイする方法を1つ自分の中で増やせたのはいい経験でした。いつか役立つと信じて今後も学習を進めていきます。最後まで読んでいただきありがとうございました。

Last modified: 2024-02-01

Author