У меня есть очень простой скрипт Cloudformation, который просто пытается создать CloudWatch LogGroup и связанный LogStream -
AWSTemplateFormatVersion: '2010-09-09'
Description: Hello World
Parameters:
AppName:
Type: String
EnvName:
Type: String
Resources:
AppLogGroup:
Properties:
LogGroupName:
Fn::Join:
- '-'
- - Ref: AppName
- Ref: EnvName
RetentionInDays: 7
Type: AWS::Logs::LogGroup
AppLogStream:
Properties:
LogGroupName:
Fn::Join:
- '-'
- - Ref: AppName
- Ref: EnvName
LogStreamName:
Fn::Join:
- '-'
- - Ref: AppName
- Ref: EnvName
- info
Type: AWS::Logs::LogStream
Теперь это успешно развертывается примерно в 50% случаев, но для остальных 50%, хотя LogGroup создает нормально, создание LogStream завершается неудачно с The specified log group does not exist
; и в целом стек откатывается.
Я предполагаю, что это из-за какого-то сбоя в "возможной согласованности" в AWS, но я немного удивлен, что создание LogStream не может ждать, пока LogGroup завершит работу.
Я что-то не так делаю? Должен ли я создавать LogStreams в своем приложении, а не в стеке? LogStream создается автоматически, когда вы отправляете первое сообщение (сомневаетесь)? Есть ли обходной путь здесь?
ТИА.