Как я могу поймать событие CREATE_COMPLETED стека CloudFormation и обработать его? - PullRequest
0 голосов
/ 22 февраля 2019

Я создаю стек CloudFormation и Lambda, которые я хочу вызвать после завершения создания стека (стек получил статус CREATE_COMPLETED).Лямбда не является ресурсом стека, но при необходимости его можно изменить для достижения результата.

Возможно ли перехватить это событие для стека с помощью CloudWatchRule?

В настоящее время я могу отловить создание ресурсов стекасобытия, но не создание самого стека.

Подобные вопросы включают подходы подписки CloudFormationTemplate на тему SNS, однако это вызывает SNS при каждом изменении состояния ресурса стека, но не самого стека.

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

1 Ответ

0 голосов
/ 22 февраля 2019

Это дубликат Как отправить уведомление SNS после завершения формирования облака? и Можно ли запустить лямбду при создании из шаблона CloudFormation

Правила CloudWatch здесь не являются решением, поскольку правила запускаются ограниченным набором сервисов или вызовов API.(см. список здесь https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html)

. Решение состоит в том, чтобы подключить ваш шаблон Cloudformation к теме SNS (см. документ здесь https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html) и связать SNS с функцией Lambda.

Вы получите сообщение, как показано ниже

StackId='arn:aws:cloudformation:eu-west-1:99999999999:stack/test/b08a8460-368c-11e9-be1f-025fe09a8a16'
Timestamp='2019-02-22T10:30:41.127Z'
EventId='e710f3c0-368c-11e9-b22d-06366d428b7a'
LogicalResourceId='test'
Namespace='486652066693'
PhysicalResourceId='arn:aws:cloudformation:eu-west-1:486652066693:stack/test/b08a8460-368c-11e9-be1f-025fe09a8a16'
PrincipalId='AID....6SK'
ResourceProperties='null'
ResourceStatus='CREATE_COMPLETE'
ResourceStatusReason=''
ResourceType='AWS::CloudFormation::Stack'
StackName='test'
ClientRequestToken='Console-CreateStack-c305c793-9a83-b175-bd26-f251aee30adc' 
...