2016-04-26 34 views
0

我有一个CloudFormation模板,目前我已经使用IP地址进行了硬编码,我知道自己在子网中。作为一个大公司的一部分,我需要使它变得动态,因为我创建了更多的群集并且必须引用IP地址。在我目前的设置中,我有1个主设备和一群从设备,都需要知道主设备的IP。他们不需要彼此了解。CloudFormation构建一个集群并需要将Master IP传递给其他资源

我发现以下几点:

"MasterNetInt" : { 
    "Type" : "AWS::EC2::NetworkInterface", 
    "Properties" : { 
    "SubnetId": { "Ref" : "MySubnet" } 
    } 
} 

我的问题是,我只是需要把这个资源比下各10个奴隶有这样的事情:

"UserData": { 
         "Fn::Base64": { 
          "Fn::Join": [ 
           "", [ 
     "sed -i -e 's/server_host=localhost/server_host=", { "Fn::GetAtt": [ "MasterNetInt", "PrimaryPrivateIpAddress" ] }, "/g' /etc/master/config.ini \n", 
... 

回答

1

假设该参考名称是“MasterNetInt”这应该工作给你的IP

"Fn::GetAtt": [ 
          "MasterNetInt", 
          "PrivateIp" 
         ] 
+0

模板错误:资源MasterNetInt doe s不支持Fn :: GetAtt中的属性类型PrivateIp但是这个工作原理:PrimaryPrivateIpAddress – theMadKing

相关问题