Как перейти на Serverless (Cloud Formation) на AWS CDK (Cloud Development Kit) - PullRequest
1 голос
/ 29 января 2020

У меня большой серверный проект, и мне интересно, подойдет ли схема шаблонов формирования облака с CDK, или есть что-то дополнительное в этом процессе.

1 Ответ

1 голос
/ 29 января 2020

Можно развернуть приложение CDK в существующем стеке CloudFormation, хотя это будет очень трудно сделать для нетривиальных стеков, поскольку приложения CDK обычно требуют много ресурсов.

Команда cdk diff будь твоим лучшим другом Вы можете назвать свой стек в приложении CDK, используя то же имя, что и существующий стек:

MyExistingStack(app, 'my-existing-stack')

Затем вы можете итеративно добавлять / удалять ресурсы и запускать cdk diff, чтобы проверить ваш успех в соответствии с текущим развертыванием. CDK дополнительно создаст ресурсы метаданных, которые будут добавлены в стек в дополнение к существующим в настоящее время ресурсам.

Сопоставление имен ресурсов может быть затруднено. CDK автоматически присваивает имена многим ресурсам способом, который не будет соответствовать вашему существующему стеку. Следуя инструкциям CDK Escape Hatches , вы можете получить прямой доступ к ресурсам CFN более низкого уровня и изменить имя.

Если в Construct отсутствует функция или вы пытаетесь ее обойти проблема, вы можете изменить ресурс CFN, который инкапсулирован в Construct.

Все Constructs содержат в себе соответствующий ресурс CFN. Например, высокоуровневая конструкция Bucket оборачивает низкоуровневую конструкцию CfnBucket. Поскольку CfnBucket напрямую соответствует ресурсу AWS CloudFormation, он предоставляет все функции, доступные через AWS CloudFormation.

Базовый подход c для получения доступа к классу ресурсов CFN заключается в использовании конструкции .node.defaultChild (Python: default_child), приведите его к нужному типу (при необходимости) и измените его свойства.

...