Назад | Перейти на главную страницу

Сценарий CloudFormation - ссылка на ранее созданную группу безопасности

У меня есть сценарий 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" }
       } ]
 }
}

Любой ввод или указатели с благодарностью принимаются.

Ваша проблема в сообщении об ошибке. В твоем AWS::RDS::DBSecurityGroup ресурс, вы указываете оба EC2SecurityGroupName и EC2SecurityGroupId для правила входа. Для EC2 Classic укажите только EC2SecurityGroupName.

РЕДАКТИРОВАТЬ: новые регионы, такие как EU Central (Франкфурт), не поддерживают EC2-Classic. Таким образом, вы должны поместить свой экземпляр RDS в VPC. Это означает, что вам нужно создать группу безопасности VPC вместо группы безопасности RDS.