2015-05-20 227 views
2

我試圖將入口規則添加到RDS實例的安全組,但是當我添加它時,它說The security group 'sg-14820a71' does not exist in default VPC 'vpc-527a8037'AWS Cloud Formation VPC中的RDS安全組

我已經明確指定了VPC我想要安全組,它不應該使用默認值。任何想法如何使其使用正確的VPC?

"Resources": { 
    "DbVpcSecurityGroup": { 
     "DependsOn": ["VPC", "BeanstalkSecurityGroup"], 
     "Type": "AWS::EC2::SecurityGroup", 
     "Properties": { 
      "GroupDescription": "Security group for RDS DB Instance.", 
      "VpcId": { 
       "Ref": "VPC" 
      }, 
      "SecurityGroupIngress": [{ 
        "IpProtocol": "tcp", 
        "FromPort": 3306, 
        "ToPort": 3306, 
        "SourceSecurityGroupName": { 
         "Ref": "BeanstalkSecurityGroup" 
        } 
       }] 
     } 
    } 
} 

它工作得很好,沒有入口規則(一個創建手動在GUI):

"Resources": { 
    "DbVpcSecurityGroup": { 
     "DependsOn": ["VPC", "BeanstalkSecurityGroup"], 
     "Type": "AWS::EC2::SecurityGroup", 
     "Properties": { 
      "GroupDescription": "Security group for RDS DB Instance.", 
      "VpcId": { 
       "Ref": "VPC" 
      }, 
     } 
    } 
} 

這是豆莖安全組:在VPC工作

"BeanstalkSecurityGroup": { 
    "DependsOn": ["VPC"], 
    "Type": "AWS::EC2::SecurityGroup", 
    "Properties": { 
     "GroupDescription": "Allow the Elastic Beanstalk instances to access the NAT device", 
     "VpcId": { 
      "Ref": "VPC" 
     }, 
    } 
} 
+0

當VPC工作,你應該使用'SourceSecurityGroupOwnerId'代替'SourceSecurityGroupNam'。另外,你確定'BeanstalkSecurityGroup'和DbVpcSecurityGroup'屬於同一個VPC嗎? – slayedbylucifer

+0

@slayedbylucifer使用'SourceSecurityGroupOwnerId'修復了這個問題,謝謝。添加一個答案,我會接受它。 – Petah

+0

很高興幫助。我已經添加了答案。 – slayedbylucifer

回答

2

雖然我們應該總是使用Security Group ID而不是Security Group Name

因此,在這種情況下CloudFormation,請使用SourceSecurityGroupOwnerId代替SourceSecurityGroupName

相關問題