Как я могу создать отношение DependsOn между EC2 и RDS, используя aws -cdk - PullRequest
0 голосов
/ 16 апреля 2020

В настоящее время я использую aws -cdk (машинопись) для создания стека, состоящего из экземпляра EC2 и экземпляра базы данных RDS. Экземпляр RDS должен быть настроен до запуска экземпляра EC2 и выполнения пользовательских данных.

Проблема, с которой я столкнулся, заключается в том, что я не смог найти способ определить атрибут DepensOn (Cloudformation) между двумя ресурсами. Обходной путь заключается в том, что я использую стеки netsted.

Код выглядит примерно так:

const instance = new ec2.Instance(this, 'Instance', {...})
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', {...})

Теперь я хотел бы определить что-то вроде instance.dependsOn (rdsInstance) .

Кто-нибудь сталкивался с такой же проблемой?

Спасибо, Феликс

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Решение здесь состоит в том, чтобы использовать addDependency() на node, это будет обрабатывать все необходимые CloudFormation DependsOn для вас:

const instance = new ec2.Instance(this, 'Instance', {...});
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', {...});

rdsInstance.node.addDependency(instance);

Из JSDo c из addDependency() : Добавить порядок упорядочения в другой конструкции. Все конструкции в области видимости зависимости будут развернуты перед любой конструкцией в области видимости этой конструкции.

0 голосов
/ 16 апреля 2020

Надеюсь, что следующее поможет вам.

const instance = new ec2.Instance(this, 'Instance', { /* ... */ }).getInstance();
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', { /* ... */ }).getInstance();

instance.addDependsOn(rdsInstance);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...