2013-12-20 32 views
0

CidrIp JSON模板我有一個安全組在我cloudformation模板:爲同一安全組

"MySecurityGroup": { 
    "Type": "AWS::EC2::SecurityGroup", 
     "Properties": { 
      "GroupDescription": "Security Group", 
      "SecurityGroupIngress": [ 
       { 
        "IpProtocol": "tcp", 
        "FromPort": "22", 
        "ToPort": "22", 
        "CidrIp": "0.0.0.0/0" 
       } 
      ] 
     } 
} 

我想改變0.0.0.0/0到安全組ID動態。我怎麼做?

回答

1

我幾乎正是Sanket所建議的。但它失敗,此錯誤:

Invalid id: "Semarchy-AppServerSecurityGroup-1AESXGUBKH5N4" (expecting "sg-...") 

相反,這個選擇是我所需要的:

"InstanceSecurityGroup" : { 
    "Type" : "AWS::EC2::SecurityGroup", 
    "Properties" : { 
     "GroupDescription" : "Security group for Semarchy MDM Instance", 
     "VpcId" : { "Ref" : "VpcId" }, 
     "SecurityGroupIngress" : [ { 
     "IpProtocol" : "tcp", 
     "FromPort" : "1521", 
     "ToPort" :  "1521", 
     "SourceSecurityGroupId" : { "Fn::GetAtt" : [ "AppServerSecurityGroup", "GroupId" ] } 
     } ] 
    } 
} 
0

您可以使用類似下面的:

"InstanceSecurityGroup" : { 
    "Type" : "AWS::EC2::SecurityGroup", 
    "Properties" : { 
     "GroupDescription" : "Enable HTTP access on the configured port", 
     "VpcId" : { "Ref" : "VpcId" }, 
     "SecurityGroupIngress" : [ { 
     "IpProtocol" : "tcp", 
     "FromPort" : { "Ref" : "WebServerPort" }, 
     "ToPort" : { "Ref" : "WebServerPort" }, 
     "SourceSecurityGroupId" : { "Ref" : "LoadBalancerSecurityGroup" } 
     } ] 
    } 
} 

其中SourceSecurityGroupID是參照已提供安全組(這裏LoadBalancerSecurityGroup)。要確保您的參考安全組(LoadBalancerSecurityGroup)在此安全組(InstanceSecurityGroup)之前生成,請使用「DependsOn」。

謝謝