Как установить зависимость для ресурса в другом стеке?

#amazon-cloudformation

#aws-cloudformation

Вопрос:

Мне нужно установить это для службы ECS.

   ECSService:
    Type: AWS::ECS::Service
    DependsOn: ListenerSSL
  

Дело в том, что ListenerSSL — это ресурс слушателя для балансировки нагрузки, установленный в основном шаблоне, в то время как ECSService — это ресурс в стеке, подключенный к основному шаблону через AWS ::CloudFormation:: Stack, поэтому это не работает.

Я попытался добавить ListenerSSL: !Ref ListenerSSL строку в раздел параметров AWS ::CloudFormation:: Stack, а затем добавить:

 ListenerSSL:
  Type: String
  

в разделе параметров этого стека, но в нем говорится, что dependsOn нужен ресурс, а не параметр.

Итак, каково решение для этого?

Комментарии:

1. Я полагаю, вы говорите о вложенных стеках? Единственный способ, который я вижу, прикрепить зависимость к вложенному ресурсу стека в основном шаблоне. Если я вас не правильно понял, пожалуйста, объясните немного подробнее, какова ваша цель? Передача параметра во вложенный стек?

Ответ №1:

DependsOn используется для ресурсов в том же стеке, поскольку CFN всегда будет пытаться создавать ресурсы в одном шаблоне параллельно.

Если у вас разные стеки, вы просто создаете первый, а затем второй. Вы не можете выполнить настройку DependsOn на ресурсах из другого стека.