Azure Blueprint とは

重要

Azure Blueprints は現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加使用条件」に記載されています。

設計図によってエンジニアやアーキテクトがプロジェクト設計パラメーターの概略を示すのと同じように、Azure Blueprints によってクラウド アーキテクトや中央の情報技術部門は、組織の標準、パターン、要件を実装および順守した反復可能な一連の Azure リソースを定義できます。 Azure Blueprints を使用すると、開発チームは新しい環境を迅速に構築して始動することができます。新しい環境は組織のコンプライアンスに従って構築され、ネットワークなどの一連の組み込みコンポーネントを含んでいるという確信が得られるため、開発とデリバリーにかかる時間を短縮できます。

ブループリントは、さまざまなリソース テンプレートやその他のアーティファクトのデプロイを宣言によって調整する手法です。

  • ロールの割り当て
  • ポリシーの割り当て
  • Azure Resource Manager テンプレート (ARM テンプレート)
  • リソース グループ

Azure Blueprints サービスの背後には、グローバルに分散された Azure Cosmos DB があります。 Blueprint オブジェクトは複数の Azure リージョンにレプリケートされます。 Azure Blueprints でどのリージョンにリソースがデプロイされても、このレプリケーションによって、ブループリント オブジェクトへのアクセスの一貫性、高可用性、短い待ち時間が実現されます。

ARM テンプレートとの違い

このサービスは、"環境の設定" が容易になるように設計されています。 この設定は、多くの場合、一連のリソース グループ、ポリシー、ロールの割り当て、および ARM テンプレートのデプロイから成ります。 ブループリントは、これら個々の "アーティファクト" の種類をまとめたパッケージです。ブループリントにより、そのパッケージの作成とバージョン管理を行うことができます (CI/CD (継続的インテグレーションと継続的デリバリー) パイプラインを使用して行うこともできます)。 最終的には、それぞれが、監査と追跡が可能なサブスクリプションに 1 回の操作で割り当てられます。

Azure Blueprints のデプロイに含めるものはほぼすべて、ARM テンプレートを使用して実現できます。 しかし、ARM テンプレートは Azure にネイティブに存在するドキュメントではありません。それぞれローカル、ソース コントロール内、またはテンプレート (プレビュー) に格納されています。 テンプレートは 1 つ以上の Azure リソースのデプロイに使用されますが、それらのリソースがデプロイされると、テンプレートとのアクティブな結び付きや関係は失われます。

Azure Blueprints では、ブループリント定義 (何をデプロイする "必要がある" か) とブループリント割り当て (何がデプロイ "された" か) の間の関係が維持されます。 この結び付きによって、デプロイの追跡と監査が向上します。 また、Azure Blueprints は、同じブループリントで管理されている複数のサブスクリプションを一度にアップグレードすることもできます。

ARM テンプレートとブループリントのどちらかを選ぶ必要はありません。 各ブループリントは、0 個以上の ARM テンプレート アーティファクト で構成することができます。 このサポートは、ARM テンプレートを開発し、そのライブラリを維持するために以前行った作業を、Azure Blueprints で再利用できることを意味します。

Azure Policy との違い

ブループリントは、一貫性とコンプライアンスを確保する再利用可能な Azure クラウド サービス、セキュリティ、デザインの実装に関連した、焦点を定めた一連の標準、パターン、要件を作成するためのパッケージまたはコンテナーです。

ポリシーは、デプロイ時のリソース プロパティと、既に存在するリソースのリソース プロパティに焦点を合わせた、既定での許可と明示的な拒否のシステムです。 サブスクリプションに含まれるリソースが要件と標準に準拠していることを確認することによって、クラウドのガバナンスを支援します。

ブループリントにポリシーを含めると、ブループリントの割り当て時に、適切なパターンや設計を作成できます。 このポリシー追加により、承認済みまたは予想されている変更しか環境に対して行えないことが保証され、ブループリントの意図に対する継続的なコンプライアンスが確保されます。

ポリシーは、数多くの "アーティファクト" の 1 つとしてブループリント定義に含めることができます。 また、ブループリントでは、ポリシーおよびイニシアティブでパラメーターを使用することもできます。

ブループリント定義

ブループリントは "アーティファクト" で構成されます。 Azure Blueprints は、現在、次のリソースをアーティファクトとしてサポートしています。

リソース 階層のオプション 説明
リソース グループ サブスクリプション ブループリント内の他のアーティファクトで使用する新しいリソース グループを作成します。 プレースホルダーであるこれらのリソース グループを使用すると、リソースの構造を正確に希望したとおりに編成し、含めたポリシーとロールの割り当てのアーティファクトおよび ARM テンプレートについて、スコープを制限する指定ができます。
ARM テンプレート サブスクリプション、リソース グループ 入れ子になったテンプレートやリンクされたテンプレートを含むテンプレートを使用して、複雑な環境を構築します。 たとえば、SharePoint ファーム、Azure Automation State Configuration、Log Analytics ワークスペースの環境が該当します。
ポリシーの割り当て サブスクリプション、リソース グループ ブループリントの割り当て先であるサブスクリプションに、ポリシーまたはイニシアティブを割り当てることができます。 ポリシーまたはイニシアティブは、ブループリント定義の場所のスコープ内にある必要があります。 ポリシーまたはイニシアティブにパラメーターが含まれる場合、これらのパラメーターは、ブループリントを作成する時点で割り当てるか、ブループリント割り当て時に割り当てられます。
ロールの割り当て サブスクリプション、リソース グループ 既存のユーザーまたはグループを組み込みのロールに追加して、リソースに対して常に適切なユーザーが確実に適切なアクセス権を持つようにすることができます。 ロールの割り当ては、サブスクリプション全体に対して定義することも、ブループリントに含まれる特定のリソース グループに対して入れ子にすることもできます。

注意

各成果物は 2 MB 以下である必要があります。 成果物が 2 MB を超えた場合、HTTP 500 エラー (内部サーバー エラー) が発生します。

ブループリント定義の場所

ブループリント定義を作成するとき、ブループリントの保存場所を定義します。 ブループリントは、自分が共同作成者のアクセス権を持っている管理グループまたはサブスクリプションに保存できます。 保存場所が管理グループである場合、その管理グループのすべての子サブスクリプションへの割り当てにブループリントを使用できます。

ブループリントのパラメーター

ブループリントでは、ポリシーやイニシアティブまたは ARM テンプレートにパラメーターを渡すことができます。 いずれかの "アーティファクト" がブループリントに追加されるときに、作成者は個々のブループリント割り当てに対して、定義済みの値を指定するか、割り当て時に値を指定できるようにするかを決定します。 この柔軟さによって、ブループリントのすべての使用に対して事前に決められた値を定義するか、割り当ての時点で値を決定できるようにするかを選ぶことができます。

注意

ブループリントには、そのブループリント専用のパラメーターを設定できますが、現時点では、このようなパラメーターを作成できるのはブループリントがポータルではなく REST API から生成されている場合のみです。

詳細については、ブループリントのパラメーターに関する記事をご覧ください。

ブループリントの発行

ブループリントを作成したとき、最初はドラフト モードであると見なされます。 割り当てができる状態になったら、発行する必要があります。 発行するには、バージョン文字列 (文字、数字、ハイフンを使用し、長さは最大 20 文字) を、変更に関するメモ (オプション) と共に定義する必要があります。 バージョンによって、同じブループリントに対する今後の変更が区別され、各バージョンを割り当てることが可能になります。 これはまた、同じブループリントの異なる複数のバージョンを同じサブスクリプションに割り当てできることを意味します。 ブループリントに追加の変更を加えた場合は、発行されていない変更に加えて、発行済みバージョンも引き続き存在します。 変更が完了すると、更新されたブループリントは、新しい一意のバージョンを持つ発行済みのブループリントとして、やはり割り当て可能になります。

ブループリント割り当て

ブループリントの個々の発行済みバージョンを既存の管理グループまたはサブスクリプションに割り当てることができます (名前の最大長は 90 文字)。 ポータルにおいて、ブループリントの既定のバージョンは、直近の発行済みになったバージョンになります。 アーティファクトのパラメーターまたはブループリントのパラメーターがある場合、そのパラメーターは割り当て処理時に定義されます。

Note

ブループリント定義を管理グループに割り当てると、割り当てオブジェクトが管理グループに存在することになります。 アーティファクトの配置は、現在もサブスクリプションを対象としています。 管理グループへの割り当てを実行するには、作成または更新 REST API を使用する必要があり、要求本文には、ターゲット サブスクリプションを定義する の値が含まれている必要があります。

Azure Blueprints におけるアクセス許可

ブループリントを使用するには、Azure ロールベースのアクセス制御 (Azure RBAC) を通じてアクセス許可を得る必要があります。 Azure portal でブループリントを読み取るまたは表示するには、ブループリント定義が配置されているスコープへの読み取りアクセス権がアカウントに必要です。

ブループリントを作成するには、お使いのアカウントに次のアクセス許可が必要です。

  • Microsoft.Blueprint/blueprints/write - ブループリント定義の作成
  • Microsoft.Blueprint/blueprints/artifacts/write - ブループリント定義でのアーティファクトの作成
  • Microsoft.Blueprint/blueprints/versions/write - ブループリントの発行

ブループリントを削除するには、お使いのアカウントに次のアクセス許可が必要です。

  • Microsoft.Blueprint/blueprints/delete
  • Microsoft.Blueprint/blueprints/artifacts/delete
  • Microsoft.Blueprint/blueprints/versions/delete

Note

ブループリント定義のアクセス許可は、その保存先となる管理グループまたはサブスクリプションのスコープで付与または継承する必要があります。

ブループリントを割り当てまたは割り当て解除するには、お使いのアカウントに次のアクセス許可が必要です。

  • Microsoft.Blueprint/blueprintAssignments/write - ブループリントの割り当て
  • Microsoft.Blueprint/blueprintAssignments/delete - ブループリントの割り当て解除

注意

サブスクリプションにブループリント割り当てが作成されると、ブループリント割り当てと割り当て解除のアクセス許可がサブスクリプションのスコープに対して付与されるか、サブスクリプション スコープに継承されます。

以下の組み込みロールを使用できます。

Azure ロール 説明
所有者 他のアクセス許可に加えて、すべての Azure Blueprints 関連のアクセス許可が含まれます。
Contributor 他のアクセス許可に加えて、ブループリント定義を作成および削除できますが、ブループリントの割り当てのアクセス許可は持っていません。
ブループリント共同作成者 ブループリントの定義を管理できますが、それらを割り当てることはできません。
ブループリント オペレーター 既存の発行済みのブループリントを割り当てることはできますが、新しいブループリント定義は作成できません。 ブループリントの割り当ては、ユーザーによって割り当てられたマネージド ID を使用して割り当てが行われた場合にのみ機能します。

これらの組み込みロールが自分のセキュリティ ニーズに適合しない場合は、カスタム ロールを作成することを検討してください。

注意

システム割り当てのマネージド ID を使用している場合、Azure Blueprints のサービス プリンシパルがデプロイを有効にするには、割り当てられたサブスクリプションに対して所有者ロールが必要です。 ポータルを使用する場合、デプロイに対するこのロールの付与と取り消しは自動的に行われます。 REST API を使用する場合はこのロールを手動で付与する必要がありますが、取り消しはデプロイ完了後に自動的に行われます。 ユーザー割り当てマネージド ID を使用する場合は、ブループリント割り当てを作成するユーザーのみに Microsoft.Blueprint/blueprintAssignments/write アクセス許可が必要です。これは、Microsoft.Blueprint/blueprintAssignments/writeブループリント オペレーター の組み込みロールの両方に含まれています。

名前付けの制限

特定のフィールドでは、次の制限があります。

Object フィールド 使用できる文字 最大 長さ
ブループリント 名前 英字、数字、ハイフン、アンダースコア 48
ブループリント Version 英字、数字、ハイフン、およびピリオド 20
ブループリント割り当て 名前 英字、数字、ハイフン、アンダースコア 90
ブループリント アーティファクト 名前 英字、数字、ハイフン、およびピリオド 48

ビデオの概要

Azure Blueprints に関する次の概要は、Azure Fridays のものです。 ビデオのダウンロードについては、Channel 9 の「Azure Fridays - An overview of Azure Blueprints (Azure Fridays - Azure Blueprints の概要)」をご覧ください。

次のステップ