このトピックでは、ネストされたスタックの構造、ベストプラクティス、共通テンプレート、更新動作、出力値について説明します。また、ネストされたスタックとその親スタックの表示方法についても説明します。
ネストされたスタックの構造
ネストされたスタックは、他のネストされたスタックを含むことでスタック階層を形成します。ルートスタックは、階層内のすべてのネストされたスタックの最上位の親スタックです。
各ネストされたスタックには、直接の親スタックがあります。第 1 レベルのネストされたスタックの場合、ルートスタックがその親スタックにもなります。
ネストされたスタックとルートスタックの関係は次のとおりです:
- スタック A は、このスタック階層の他のすべてのネストされたスタックのルートスタックです。
- スタック B にとって、スタック A は親スタックであり、ルートスタックでもあります。
- スタック D にとって、スタック C が親スタックです。スタック C にとって、スタック B が親スタックです。
スタックの更新などの特定のスタック操作は、ルートスタックから開始する必要があります。ネストされたスタックで直接開始しないでください。場合によっては、ネストされたスタックがスタック操作の実行方法に影響を与えることがあります。
ネストされたスタックによる共通テンプレートの再利用
インフラストラクチャが拡大するにつれて、テンプレート間で共通のコンポーネントを共有することがあります。これらのコンポーネントを専用のテンプレートに分離できます。その後、ネストされたスタックを使用してさまざまなテンプレートを組み合わせ、単一の統一されたスタックを作成できます。
ネストされたスタックは、別のスタックの一部として作成するスタックです。ALIYUN::ROS::Stack リソースを使用することで、別のスタック内にネストされたスタックを作成できます。ALIYUN::ROS::Stack リソースの詳細については、「ALIYUN::ROS::Stack」をご参照ください。
たとえば、ほとんどのスタックで使用するロードバランサー設定があるとします。設定をテンプレートにコピー&ペーストする代わりに、ロードバランサー専用のテンプレートを作成できます。その後、ALIYUN::ROS::Stack リソースを使用して、他のテンプレートからそのテンプレートを参照できます。ロードバランサーのテンプレートを更新すると、それを参照するすべてのスタックは、次回のスタック更新時に、更新されたロードバランサー設定を使用します。
ネストされたスタックリソースの更新動作
テンプレートに複数のネストされたスタックが含まれている場合、Resource Orchestration Service (ROS) は、変更を確認するために各ネストされたスタックの更新を開始します。
ROS は、ネストされたスタック内で、テンプレートで変更されたリソースのみを更新します。
ネストされたスタックの出力値の使用
ネストされたスタックは、ALIYUN::ROS::Stack リソースを使用して別のスタック内に作成するスタックです。ネストされたスタックを使用すると、単一のスタックからすべてのリソースをデプロイおよび管理できます。ネストされたスタックグループ内のあるスタックの出力を、同じグループ内の別のスタックの入力として使用できます。
親スタックのネストされたスタックの表示
- Resource Orchestration Service コンソールにログインします。
- ナビゲーションペインで、スタック をクリックします。
- スタック ページで、親スタックを見つけ、スタック名 列でその ID をクリックします。説明 親スタックもネストされたスタックである場合は、ネストされたスタックの表示 を選択します。
- [Resources] タブをクリックします。
ALIYUN::ROS::Stackタイプのリソースを見つけます。
ネストされたスタックの親スタックの表示
- Resource Orchestration Service コンソールにログインします。
- ナビゲーションペインで、スタック をクリックします。
- スタック ページで、ネストされたスタックの表示 を選択してネストされたスタックを表示します。
- スタック名 列で、親スタックを表示したいネストされたスタックのスタック ID をクリックします。
- [Stack Information] タブをクリックして、親スタックの ID を確認します。