ブループリントは、1 つのコンポーネントとして別のブループリントにネストすることで再利用できます。ブループリントのネストは再利用と、マシンのプロビジョニングにおけるモジュラー性制御を目的として実施できますが、ネストされたブループリントを操作する際には特定のルールと考慮事項があります。

1 つ以上のネストされたブループリントを含むブループリントは外部ブループリントと呼ばれます。あるブループリントを作成または編集しながら、別のブループリント コンポーネントをデザイン キャンバスに追加する場合、このブループリント コンポーネントはネストされたブループリントと呼ばれ、ネストされたブループリントが追加されたコンテナ ブループリントは外部ブループリントと呼ばれます。

ネストされたブループリントを使用するには、必ずしも分かりやすいとはいえない考慮事項が存在します。マシンのプロビジョニング機能を最大限活用するには、ルールおよび考慮事項を理解することが重要です。

ブループリントのネストに関する一般的なルールと考慮事項

  • ブループリントの複雑性を最小限に抑えるためのベスト プラクティスとして、ブループリントのレベルを 3 つに制限します。最上位レベルのブループリントは 3 つのレベルの 1 つです。

  • ユーザーが外部ブループリントを使用できる場合、そのユーザーはそれにネストされたブループリントも使用できます。

  • 承認ポリシーをブループリントに適用することができます。承認されると、ブループリント カタログ アイテムおよびそのコンポーネント(ネストされたブループリントなど)すべてがプロビジョニングされます。また、異なる承認ポリシーを別のコンポーネントに適用することもできます。承認ポリシーはすべて、申請されたブループリントがプロビジョニングされるまでに承認する必要があります。

  • 公開済みのブループリントを編集する際には、このブループリントを使用してすでにプロビジョニングされている展開は変更しません。プロビジョニング時、作成される展開では、自身にネストされたブループリントを含むブループリントから現在の値を読み取ります。プロビジョニング済みの展開に転送できる変更は、スクリプトの更新やアンインストールを行うための編集のような、ソフトウェア コンポーネントへの編集のみです。

  • 以下の場合を除き、外部ブループリントで定義された設定によって、ネストされたブループリントで構成された設定がオーバーライドされます。

    • ネストされたブループリントの名前は変更できますが、ネストされたブループリント内のマシン コンポーネントや他のコンポーネントの名前を変更することはできません。

    • ネストされたブループリント内のマシン コンポーネントのカスタム プロパティを追加または削除することはできません。ただし、それらのカスタム プロパティは編集できます。ネストされたブループリント内のマシン コンポーネントのプロパティ グループを追加、編集、または削除することはできません。

  • ネストされたブループリントの設定に対する変更(他のアーキテクトによる変更も含む)は、外部ブループリントに表示されます。ただし、外部ブループリントでこれらの設定をオーバーライドした場合を除きます。

  • 外部ブループリントの最大リース時間は、コンポーネント ブループリントの最大リースの値に制限されます。

    ネストされたブループリントおよび外部ブループリントで指定されたリース時間には、任意の値を設定できます。ただし、外部ブループリントの最大リース時間は、ネストされたブループリントの最大リース時間のうち最も小さい値に制限する必要があります。これにより、アプリケーション アーキテクトは、不変および可変のリース値を含む複合ブループリントを設計できますが、設計した複合ブループリントは、インフラストラクチャ アーキテクトが指定した制約内に収まります。ネストされたブループリントで定義された最大リース値が、外部ブループリントで定義された最大リース値よりも小さい場合は、プロビジョニング申請が失敗します。

  • 外部ブループリントでの作業中は、ネストされたブループリント内のマシン コンポーネントに対して構成されたマシン リソース設定をオーバーライドできます。

  • 外部ブループリントでの作業中は、ネストされたブループリント内のマシン コンポーネントにソフトウェア コンポーネントをドラッグできます。

  • ネストされたブループリント内のマシン コンポーネントが削除されたブループリント、またはマシン コンポーネントの ID が変更されたブループリントを開いたときに、マシン コンポーネントが現在のブループリントのコンポーネントに関連付けられている場合、関連付けられているコンポーネントが削除され、次のようなメッセージが表示されます。

    現在のブループリント内のコンポーネントが参照しているネストされたブループリント内のマシン コンポーネントが削除されたか、またはそのマシン コンポーネントの ID が変更されています。存在しないか変更されたマシン コンポーネント ID に関連付けられている現在のブループリント内のコンポーネントは、すべて削除されました。ネストされたブループリント内の存在しないか変更されたマシン コンポーネント ID と現在のブループリント内のコンポーネントとの関連付けの履歴を維持して、ネストされたブループリントの問題を修正するには、[キャンセル] をクリックします。ネストされたブループリントを開き、存在しない元の ID のマシン コンポーネントを再び追加するか、またはマシン コンポーネントの ID を元の ID に戻してください。ネストされたブループリント内の存在しないか変更されたマシン コンポーネント ID と現在のブループリント内のコンポーネントとの関連付けの履歴をすべて削除するには、[保存] をクリックします。

ブループリントのネストに関するネットワークおよびセキュリティのルールおよび考慮事項

  • 外部ブループリントのネットワークおよびセキュリティ コンポーネントは、ネストされたブループリントで定義したマシンに関連付けられます。

  • アプリケーションの隔離が外部ブループリントに適用されると、ネストされたブループリントで指定したアプリケーションの隔離設定がオーバーライドされます。

  • 外部ブループリントで定義されるトランスポート ゾーン設定は、ネストされたブループリントで指定したトランスポート ゾーン設定をオーバーライドします。

  • 外部ブループリントでの作業中は、内部またはネストされたブループリントで構成したネットワーク コンポーネント設定およびマシン コンポーネント設定に関連するロード バランサ設定を構成できます。

  • オンデマンド NAT ネットワーク コンポーネントを含むネストされたブループリントの場合、外部ブループリントでは、このオンデマンド NAT ネットワーク コンポーネントで指定した IP アドレス範囲を編集できません。

  • 外部ブループリントには、オンデマンドのネットワーク設定またはロード バランサ設定を含む内部ブループリントを含めることはできません。NSX のオンデマンドのネットワーク コンポーネントまたは NSX のロード バランサ コンポーネントを含む内部ブループリントの使用は、サポートされていません。

  • NSX のネットワークまたはセキュリティ コンポーネントを含むネストされたブループリントの場合、ネストされたブループリントで指定したネットワーク プロファイルまたはセキュリティ ポリシーの情報を変更できません。ただし、外部ブループリントに追加した他の vSphere マシン コンポーネントのそれらの設定を再利用することはできます。

  • ネストされたブループリント内の NSX のネットワークとセキュリティ コンポーネントに複合ブループリント内で一意の名前が付けられるようにするには、vRealize Automation が、まだ一意の名前が付いていないネットワークとセキュリティ コンポーネントに、ネストされたブループリント ID のプリフィックスを付けます。たとえば、ID 名 xbp_1 の付いたブループリントを外部ブループリントに追加し、両方のブループリントに OD_Security_Group_1 という名前のオンデマンド セキュリティ グループ コンポーネントが含まれる場合、ネストされたブループリント内のコンポーネントは、ブループリント デザイン キャンバスで xbp_1_OD_Security_Group_1 という名前に変更されます。外部ブループリントのネットワークとセキュリティ コンポーネントの名前にプリフィックスはありません。

ブループリントのネストに関するソフトウェア コンポーネントの考慮事項

拡張可能なブループリントの場合は、ベスト プラクティスとして、他のブループリントを再利用しない単一レイヤのブループリントを作成することが推奨されます。通常、拡張処理中の更新プロセスは、ソフトウェア プロパティをマシン プロパティにバインドする際に作成する依存関係などの、暗黙的な依存関係によってトリガされます。しかし、ネストされたブループリントにおける暗黙的な依存関係によって更新プロセスがトリガされない場合もあります。拡張可能なブループリントでネストされたブループリントを使用する必要がある場合は、ネストされたブループリントのコンポーネント間で手動で依存関係を描画して、常に更新をトリガする明示的な依存関係を作成することができます。