Мы объявили кластер БД и в качестве свойства присвоили ему идентификатор SG. Мы объявили SG и всвойстве ее правила поставили атрибут кластера БД.
Ни один из ресурсов еще не создан, и CFN не может выстроить граф зависимостей, чтобы принять решение, какой ресурс создать первым.
Решение задачи гуглится на раз-два по тексту ошибки, но экспертный эксперт сразу смекнет: в AWS все есть API и, чаще всего, все есть ресурс.
Правило SG, будь оно на входящий или исходящий трафик, также является отдельным ресурсом типа
AWS::EC2::SecurityGroup[Ingress,Egress]
Чтобы решить эту проблему, достаточно создать “пустую” SG и добавить еще один ресурс ниже (или выше):
SecurityGroupRule:
Type: “AWS::EC2::SecurityGroupIngress
Properties:
IpProtocol: tcp
FromPort: !GetAtt Db.Endpoint.Port
ToPort: !GetAtt Db.Endpoint.Port
GroupId: !Ref Sg