あるブループリント コンポーネントの情報が、別のコンポーネントのプロビジョニングの完了に必要な場合、依存関係にあるコンポーネントが先にプロビジョニングされないように、デザイン キャンバスで明示的な依存関係を描画してプロビジョニングに順序付けをすることができます。明示的な依存関係によって、展開のビルド順が制御され、スケール インやスケール アウトの処理中に従属する更新が常にトリガされます。

複数のマシンとアプリケーションを含んだブループリントを設計する際には、別のマシンのプロパティがないと、目的とするマシンへのアプリケーションのインストールが完了できない場合があります。たとえば Web サーバを構築する場合、アプリケーションをインストールしてデータベース テーブルをインスタンス化するためには、事前にデータベース サーバのホスト名が必要です。明示的な依存関係をマップすると、Web サーバのプロビジョニングが完了してから、データベース サーバのプロビジョニングが開始されます。

デザイン キャンバスで依存関係をマッピングするには、依存する側のコンポーネントから依存される側のコンポーネントに線を描画します。描画が完了すると、2 番目にビルドするコンポーネントから 1 番目にビルドするコンポーネントに向かう矢印が表示されます。たとえば「依存関係のマッピングによるビルド順の制御」の図で、依存するマシンのプロビジョニングは、プライマリ マシンが構築されるまで実行されません。また両方のマシンを同時にプロビジョニングするように構成する一方で、ソフトウェア コンポーネント間に依存関係を描画することもできます。

図 1. 依存関係のマッピングによるビルド順の制御


ブループリント キャンバスでビルド順の依存関係をマッピングする


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