Blueprintsの使い方まとめ最近の楽しみはプロテインゴリラの躍動を観戦する事の木下です。Blueprintsを少し触る機会が有ったのでブログに書いていきます。2018でpreviewが発表されたAzureのサービスです。リソースを定義できます。使用すると、開発チームは新しい環境を迅速に構築して立ち上げることができます。新しい環境は組織のコンプライアンスに従って構築され、ネットワークなどの一連の組み込みコンポーネントを含んでいるという確信が得られるため、開発とデリバリーにかかる時間を短縮できます。https://docs.microsoft.com/ja-jp/azure/governance/blueprints/overviewMSの公式ドキュメントからの引用では中々全貌を把握しにくいですね。簡単に言うと既存のサブスクリプション全体の環境設定をAzure上で定義し他の環境への構築を容易にするサービスでしょうか。下記の要素のデプロイが可能です。グループ察しの良い方はお気づきかと思いますが、Blueprintsにて行える事はARMテンプレートでも実行可能です。Policy等で複雑化する環境設定を容易にするためのサービスです。Blueprintsによる環境設定で今までのARMテンプレートを使わなくなるという事はありません。ARMのあのjsonは使う必要が出てきます。有るARMテンプレートを利用してBlueprintの定義を作成する事が可能ですので、資産としてARMテンプレートを活用していきたいですね。APIを利用した2種類が存在しますが、基本的に環境設定を容易にするという観点で考えるとPortal上から作成する方が良いと思います。基本的な手順については下記の様な公式ドキュメントに詳しく載っているので、今回はいくつか個人的に気になったポイントだけ解説します。https://docs.microsoft.com/ja-jp/azure/governance/blueprints/create-blueprint-portal1.リソースの作成にはARMテンプレートを使用する。大体下記の様な感じでPortalからARMテンプレートのデプロイを行う様な形で扱います。リソースの作成に関しては下記の様な形ですね。図ではストレージ1種のみ作成してますが、実際は1テンプレート1リソース等の制限は無いので基本的に使用可能なARMテンプレートなら問題なく使える筈です。Policyの操作と大体同じ。Policy操作画面と違い、ポリシー定義とイニシアティブ定義が同一の画面で選択出来るようになっているせいか定義名と詳細が途中で見切れてしまい使い勝手がやや悪いです。APIの様に定義Idを調べて定義して扱うよりは大分楽ですが。Policyのポリシー定義画面3.ブループリントは[所有者]ロールが有る環境について割り当てが可能。ブループリントの[割り当てる]というのがデプロイに近く、実際にポリシーやロールの割り当て、リソースの作成が行われます。基本的に構築を行う環境については[共同作成者]のロールが割り振られる事が多いとは思いますが、[共同作成者]ではブループリント定義の作成と保存しか行えません。[所有者]ではないロールで[割り当て]を行うにはカスタムロールの作成が必要となります。4.ブループリント定義のバージョン管理がAzure内で完結する。ここら辺がARMとの一番の相違点かなと思います。今までのARMテンプレートは要はただのjsonだったのでバージョン管理等行うにはgit等のツールで管理する必要が有りました。この辺りの環境設定の定義をある程度Azure内で完結出来る様になったのは、ブループリントを利用する意義があるかなと思います。まとめ正直まだプレビューの状態でARMテンプレートと比べて環境構築ががっつり楽になるかというと、正直そこまででも無いかなとも思ってます。ARMというかRBACやポリシー周りの定義は確かに容易になるので、属人的要素を減らす余地が多いサービスだと思いました。個人的には現在のサブスクリプションからブループリント定義をある程度自動的にエクスポートしてくれる様になると扱いやすいかなと感じました。プレビューから1年経つのでGAに注目ですね。本記事に記載の情報に起因するいかなる損害に対しても弊社は一切の責任を負わないものとします。お客様のご判断と責任のもとにご活用ください。