はじめに
Ignite で発表された新機能 & Update の検証も落ち着いてきたなと思ったら、
唐突に Azure Building Blocks が発表されたので早速試してみました。
Azure Building Blocks とは?
ざっくりいうと、Azure リソースの展開を簡略化するように設計された仕組みのことです。
ユーザーは複雑な ARM Template を記述することなく、デプロイするリソースのパラメータ設定を記述し
azbb コマンドを実行するだけで裏でいい感じの ARM Template にマージされデプロイされます。
サポートされている Azure リソース
現在は下記のリソースがサポートされています。
- Virtual Network (ゲートウェイ、ピアリング含む)
- Network Security Groups
- User Defined Routes
- Windows and Linux VMs
- VM Extensions
- Internal and External Load Balancers
- Application Gateway
事前準備
事前にコマンドラインツールをインストールします。
ローカルにインストールすることも可能ですが、今回は Azure Cloud Shell にインストールします。
インストール方法は下記に書いてある通りにコマンドを実行すれば完了です。
https://github.com/mspnp/template-building-blocks/wiki/Install-Azure-Building-Blocks-in-Azure-Cloud-Shell
試してみる
Github にあるサンプルを使用して Azure にデプロイします。
1. 下記のURLからjsonファイルをダウンロードしてくる
https://github.com/mspnp/template-building-blocks/blob/master/scenarios/
2. ダウンロードしたjsonファイルを確認する
{
"$schema": "https://raw.githubusercontent.com/mspnp/template-building-blocks/master/schemas/buildingBlocks.json",
"contentVersion": "1.0.0.0",
"parameters": {
"buildingBlocks": {
"value": [
{
"type": "VirtualNetwork",
"settings": [
{
"name": "msft-hub-vnet",
"addressPrefixes": [
"10.0.0.0/16"
],
"subnets": [
{
"name": "firewall",
"addressPrefix": "10.0.1.0/24"
},
{
"name": "subnet1",
"addressPrefix": "10.0.2.0/24"
}
]
}
]
}
]
}
}
}
書き方がシンプルになっていますね。
3. Cloud Shell が使用している File Storage に json ファイルをアップロード
今回は作成した azbb フォルダにアップロード
管理ポータルから File Storage に直接アップロードできるようになったのは良いですね。
4. Cloud Shell にて azbb コマンド実行
azbb -g [リソースグループ名] -s [サブスクリプションID] -l [リージョン] -p [パラメータファイルパス] --deploy
最後に
デプロイが完了すると、Cloud Shell で使用している File Storage のファイル共有直下に
「元ファイル名-output.json」が出力され、実際にデプロイで使用した ARM Template が確認できます。
サンプルや各種ドキュメントは Github に公開されているので、皆さんも試してみください。
https://github.com/mspnp/template-building-blocks