このトピックでは、ネストされたスタックの構造、ベストプラクティス、一般的なテンプレート、更新の動作、出力値、およびネストされたスタックと親スタックを表示する方法について説明します。
ネストされたスタックの構造
ネストされたスタックには、他のネストされたスタックを含めることができ、スタックの階層構造になります。ルートスタックは、すべてのネストされたスタックが属する最上位スタックです。
各ネストされたスタックには、直接の親スタックがあります。第 1 レベルのネストされたスタックの場合、ルートスタックも親スタックです。
次の例は、ネストされたスタックとルートスタックの関係を示しています。
- スタック A は、この階層内のすべてのネストされたスタックのルートスタックです。
- スタック B の場合、スタック A は親スタックとルートスタックの両方です。
- スタック C の場合、親スタックはスタック B です。スタック D の場合、親スタックはスタック C です。

スタックの更新など、特定のスタック操作は、ネストされたスタックで直接実行するのではなく、ルートスタックから開始する必要があります。また、ネストされたスタックは、場合によってはスタック操作の実行方法に影響します。
ネストされたスタックを使用して共通テンプレートを再利用する
インフラストラクチャが成長するにつれて、同様のパターンを組み合わせて、複数のテンプレートに共通のコンポーネントを宣言できます。これらの共通コンポーネントを分離し、専用のテンプレートを作成できます。このようにして、異なるテンプレートを組み合わせることができますが、ネストされたスタックを使用して単一の統合スタックを作成できます。
ネストされたスタックは、他のスタックの一部として作成されるスタックです。別のスタックで ALIYUN::ROS::Stack リソースを使用して、ネストされたスタックを作成できます。 ALIYUN::ROS::Stack リソースの詳細については、「ALIYUN::ROS::Stack」をご参照ください。
ほとんどのスタックで使用するロードバランサー構成があるとします。同じ構成をテンプレートにコピーして貼り付ける代わりに、ロードバランサー専用のテンプレートを作成できます。その後、ALIYUN::ROS::Stack リソースを使用して、他のテンプレート内からそのテンプレートを参照するだけで済みます。ロードバランサーテンプレートが更新された場合、テンプレートを参照するスタックは、スタックの更新後に更新されたロードバランサーを使用します。
ネストされたスタックリソースの更新動作
更新するテンプレートに複数のネストされたスタックが含まれている場合、ROS は各ネストされたスタックの更新を開始します。これは、ネストされたスタックが変更されたかどうかを判断するのに役立ちます。
ROS は、対応するテンプレートで変更が指定されているネストされたスタック内のリソースのみを更新します。
ネストされたスタックの出力値を使用する
ネストされたスタックは、ALIYUN::ROS::Stack リソースを使用して別のスタックに作成するスタックです。ネストされたスタックを使用すると、単一のスタックからすべてのリソースをデプロイおよび管理できます。ネストされたスタックグループの 1 つのスタックの出力を、グループ内の別のスタックへの入力として使用できます。
親スタックに属するネストされたスタックを表示する
- ROS コンソール にログインします。
- 左側のナビゲーションペインで、[スタック] をクリックします。
- [スタック] ページで、ネストされたスタックを表示する親スタックを見つけ、[スタック名] 列でその ID をクリックします。説明 親スタックもネストされたスタックである場合は、[ネストされたスタックを表示] を選択します。
- [リソース] タブをクリックします。
ALIYUN::ROS::Stack タイプのリソースを見つけます。
ネストされたスタックの親スタックを表示する
- ROS コンソール にログインします。
- 左側のナビゲーションペインで、[スタック] をクリックします。
- [スタック] ページで、[ネストされたスタックを表示] を選択し、スタックリストを表示します。
- 親スタックを表示するネストされたスタックを見つけ、[スタック名] 列でその ID をクリックします。
- [スタック情報] タブをクリックし、親スタック ID の値を表示します。