【问题标题】:AWS CloudFormation: Unable to find existing SG to assign to RDS instanceAWS CloudFormation:找不到现有 SG 以分配给 RDS 实例
【发布时间】:2018-08-30 00:50:52
【问题描述】:

从一个模板/堆栈创建并导出 SG:

  Resources
    RDSSecurityGroup:
      Type: AWS::EC2::SecurityGroup
      Properties:
        GroupName: "sg-name" 

  Outputs:
    SGRDS:
      Description: security group of rds instances
      Value: !Ref RDSSecurityGroup
      Export:
        Name: SGRDS

但是,尽管在使用另一个模板(和堆栈)创建 RDS 时尝试使用此 SG 时会创建导出

 Resources
   MYRDS: 
     Type: AWS::RDS::DBInstance
       Properties: 
       DBSecurityGroups:
        - !ImportValue SGRDS

它失败并出现以下错误:

未找到 DBSecurityGroup:sg-0983409kdje5999

更新:这似乎不是导出值相关的问题;由于某种原因,将特定 SG 分配给我的 RDS 实例都会失败(我明确使用了 SG 名称,但这次我得到了上面的“未找到”错误,名称而不是 id)。

由于某种原因,它无法找到 SG。

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation amazon-rds


    【解决方案1】:

    由于您使用的是AWS::EC2::SecurityGroup,因此您需要使用属性VPCSecurityGroups 来指定您导入的安全组,而不是使用DBSecurityGroups。它失败是因为您指定的 SG 不是 DBSecurityGroup。

    有两种方法可以为 RDS 实例设置安全组,如 here 所述:

    1. DBsecurityGroups:安全组类型 AWS::RDS::DBSecurityGroup。这是保护 RDS 的旧方法 实例。

    2. VPCSecurityGroups:安全组类型 AWS::EC2::SecurityGroup 允许您指定 VPC 安全性 组来保护您的 RDS 实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2016-08-30
      • 1970-01-01
      • 2019-02-25
      • 2018-12-25
      • 2021-12-31
      • 2020-09-24
      相关资源
      最近更新 更多