BLOGAzureブログ
そろそろ正式に提供開始されるのか?してほしい!Azure Blueprints
Azure相談センターSB C&Sは、Microsoft Azureを推奨します。
そろそろ正式に提供開始されるのか?してほしい!Azure Blueprints
皆さまこんにちは、SB C&Sの八釼です。
Azure Blueprintsご存じでしょうか?ガバナンスを効かすための重要なサービスなのですが、意外に知名度は低くまた名前は知っていてもどのように活用するべきなのか分かりにくいものなのです。というのも現時点(2023年6月1日時点)でプレビューなのです(笑)つまりGAされていません。Azure portalで見てみても以下の画面が表示されています。
ですがいくつかの資格試験でも問われますし、何よりWell-Architected Frameworkにおけるセキュリティデザインのガバナンスでも使用を推奨される重要なサービスです。Azure環境のソリューションアーキテクトや管理者であれば知っておくべきなのです。
ということで、今回はこれについて大まかに理解できる内容をお伝えできればと思います。
Blueprint(ブループリント)、日本語に直訳すると「設計図」です。つまりAzureリソース(環境)の設計図なのです。設計図を使えば削除してしまった場合でも簡単に同じものが作成できますし、少し値などを変えた環境もいくつも作れます。このように聞くと、もし私の記事のファンの方がいらっしゃれば(笑)、過去に掲載したこの記事で紹介したARM テンプレートと何が違うの?と疑問を持つかもしれません。実際に、この疑問は多くの方が抱くものですし、私もそうでした。後述しますが、ARM テンプレートは必ずしもこの設計図に含める必要はないので(例えばこの公式チュートリアル:ブループリント サンプルから環境を作成するでは使用していない)そもそも違うものということが分かります。
しかし近しい関係にあるのは事実でして、往々にしてARM テンプレートを活用します。なぜなら、管理・統制側としては組織のコンプライアンスに準拠させるIaCの需要が高いからです。またBlueprintによってこのテンプレートからリソースをデプロイすると、これらの間に関係性が構築でき後から追跡ができるのです。つまり「このリソースはこのテンプレートから作成された」というのが分かるということです。これが最も大きな違いもしくは利点と言えるでしょう。
ちなみにまだGAされていない旨はお伝えしましたが、2018年9月24日から今なおこの状態なのです。そろそろ正式にリリースされることを願っています。
Azureの更新情報 | Azure Blueprints (プレビュー)
まずざっくり言葉でイメージをお伝えすると、「作成→発行→割当→追跡」です。
もう少し肉付けすると、ブループリント定義の作成・発行・割当からのデプロイの追跡です。なんのこっちゃですね、補足していきます。
またぜひこの公式チュートリアル: ポータル内でブループリントを定義して割り当てる:もやってもらえると実感できると思います。この記事では所々このチュートリアルを使って説明します。
兎にも角にもこれを作成しないと何も始まりませんし、これを中心にすべては回っていきます。後述する割り当てに関係するので要件が満たせるようにする必要があります。
まず最も重要なことなのですが、作成するブループリント定義を保存する場所は要件に注意して決定してください。
選択肢としては、任意の管理グループもしくはサブスクリプションを指定できます。この指定次第で後述する割り当ての対象が変わってきます。管理グループを指定すればその配下のサブスクリプションに対して割り当てを行えますが、ここでサブスクリプションを指定するとそのサブスクリプションに対してしか割り当てが行えません。
組織として管理グループを使用していない場合(例えば唯一無二のサブスクリプションで運用)には特に悩む必要はありませんが、複数のサブスクリプションを管理・運用している場合には注意が必要です。さらに言えば、効率的にこのサービスを活用するためには管理グループの設計を見直す必要もでてきます。
管理グループについても奥が深く、階層構造(親子関係)にもできますし深さの制限もあります。また管理グループの親子関係を構築するには同一のAzure ADテナントを信頼している必要もあるので、複数テナントに分けて運用している場合にはさらに設計に考慮が必要になります。詳細については以下の公式ドキュメントをご確認ください。
公式ドキュメント | Azure 管理グループとは
次に重要なことは、その設計図にどのような成果物(アーティファクト)を含めるかです。以下の四つを組み合わせてその設計図(の定義)を作成することになります。
単純にARM テンプレートを使ってデプロイするリソースを定義するだけでなく、このチュートリアルのように、サブスクリプションに対してロールやポリシーを割り当てたり、リソースグループにロールを割り当てたりもできるわけです。つまり環境をデプロイした後の運用管理や、ロールやポリシー割り当てまでも考慮したテンプレートと言い換えることもできます。
なお、定義を作成した後も気を抜いてはいけません。直後の状態は下書きです。以下の画像のように"ドラフト"と表示されます。実際に利用するには「発行」という状態にする必要があります。
例えば実際にバージョンv1.0として発行すると以下の画像のようになり、その後の割り当てを行うことができるようになります。
「発行済み」のブループリントの定義を、ガバナンスを効かせたい特定のサブスクリプションに割り当てを行います。なお、割り当てを行うと自動的に定義しておいた通りにアーティファクトがデプロイされます。
今回のチュートリアルでは問題なくデプロイできるARM テンプレートを使用していますが、実際に活用する場合にはこれの開発が非常に重要になってきます。他のアーティファクトがデプロイするリソースは基本的に上手くいかないことはないですが、これはそうはいかないからです。
Azure Blueprintsを活用するためには、ARM テンプレートの開発スキルが必要と言い切ってしまっても差し支えないです。
割り当ての詳細を確認してみると定義したアーティファクトがデプロイできたか否かが確認できます。今回はロールの割り当てについては適当に設定してしまっていますがそれはさておき、リソース(グループも含め)やポリシーが問題なくデプロイできています。
「割り当てが成功しました!」とのことでエラーも特に出ていません。
このように、単純にARM テンプレートでデプロイしただけだと第三者(もしくは自身で行ったとしても時間が経つと記憶が曖昧になる)からはそのリソースがどのようなテンプレートから生成されたものか分かりませんが、ブループリントを使用することで状況を共有することにもなります。担当者や管理者が代わってしまった場合でも安心です。
本番環境を運用していくためにはこのようなガバナンス面もさることながら、リソースがどのようなテンプレート(コード)からデプロイされたのか追跡したいものです。また基本的に動作的には問題ないように思えますが、やはりプレビューのサービスを活用することに抵抗がある場合は多いのではないでしょうか?近い未来に正式にリリースされることを祈るばかりです。
弊社では、ユーザー様のご状況やご要望を踏まえて最適な形でのAzureの導入のご支援を提供しており、Blueprintsに関するご不明点などにもAzureに精通したスタッフが丁寧にご回答いたします。
実践的にアーティファクトやARM テンプレートを設計・開発することはそう簡単なことではなく色々と悩むことも多いと思います。また管理グループの設計も非常に大事になり一筋縄ではいかない場合も多いです。このように様々なお困りごとが想定されますので、その際にはぜひとも法人でのAzure導入前の相談窓口であるAzure相談センターまでお気軽にお問い合わせいただけますと幸いです。ご判断の一助となるべく尽力いたします。
Azureの導入や運用に関するお悩みは SoftBankグループのSB C&Sにご相談ください
SoftBankグループのSB C&Sは、さまざまな分野のエキスパート企業との協力なパートナーシップによって、多岐にわたるAzure関連ソリューションをご提供しています。
「Azureのサービスを提供している企業が多すぎて、どの企業が自社にベストか分からない」
「Azure導入のメリット・デメリットを知りたい」
「Azureがどういう課題を解決してくれるのか知りたい」
など、Azureに関するお悩みならお気軽にお問い合わせください。
中立的な立場で、貴社に最適なソリューションをご提案いたします。
クラウドサーバーご検討中の方必見
お役立ち資料一覧
そのようなお悩みはありませんか?
Azure相談センターでは、上記のようなお悩みを解決する
ダウンロード資料を豊富にご用意しています。
是非、ご覧ください。
オンプレミスからクラウドへの移行を検討している方のために、安心・スムーズな移行を実現する方法を解説し、
運用コストの削減に有効な「リザーブドインスタンス」もご紹介するホワイトペーパーです。
導入から活用まで専門スタッフが回答いたします。
お気軽にお問い合わせください。