CloudFormation Script - ссылка на ранее созданную группу безопасности
У меня есть скрипт CloudFormation, который работает нормально, за исключением того, что мне нужно иметь возможность добавить свою группу безопасности EC2 в группу безопасности RDS, чтобы экземпляр EC2 мог получить доступ к базе данных MySQL на экземпляре RDS.
Вот раздел, который создает группу безопасности EC2;
"WebSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"GroupDescription" : "SSH Access, and complete access to ports 80 & 443.",
"SecurityGroupIngress" : [ {
"IpProtocol" : "tcp",
"FromPort" : "22",
"ToPort" : "22",
"CidrIp" : "My.IP.Add.Ress/32" },
{
"IpProtocol" : "tcp",
"FromPort" : "80",
"ToPort" : "80",
"CidrIp" : "0.0.0.0/0" },
{
"IpProtocol" : "tcp",
"FromPort" : "443",
"ToPort" : "443",
"CidrIp" : "0.0.0.0/0"
} ]
}
},
А вот группа безопасности RDS, пытающаяся ссылаться на нее;
"DBSecurityGroup" : {
"Type" : "AWS::RDS::DBSecurityGroup",
"Properties" : {
"GroupDescription" : "Access from the EC2 instance to MySQL.",
"DBSecurityGroupIngress" : [ {
"EC2SecurityGroupName" : { "Ref": "WebSecurityGroup" },
"EC2SecurityGroupId" : { "Ref" : "WebSecurityGroup" }
} ]
}
}
Любой вклад или указатели принимаются с благодарностью.
1 ответ
Ваша проблема в сообщении об ошибке. В вашем AWS::RDS::DBSecurityGroup
ресурс, вы указываете как EC2SecurityGroupName
а также EC2SecurityGroupId
для правила входа. Для EC2 Classic укажите только EC2SecurityGroupName
,
РЕДАКТИРОВАТЬ: Новые регионы, такие как ЕС Центральная (Франкфурт), не поддерживают EC2-Classic. Поэтому вы должны поместить свой экземпляр RDS в VPC. Это означает, что вам нужно создать группу безопасности VPC вместо группы безопасности RDS.