2016-04-26 33 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

相關問題