2017-09-07 48 views
0

看來,AWS::CloudFormation::Init有一個配置部分有filescommands小節。但也有Base64編碼的Properties這一個示例腳本調用cfn-initUserData,我有:是否需要從UserData調用cfn-init?

"Fn::Base64": { 
    "Fn::Join": [ 
     "", 
     [ 
      "<script>\n", 
      "cfn-init.exe -v -s ", { 
       "Ref": "AWS::StackId" 
      }, 
      " -r MyInstance", 
      " --region ", { 
       "Ref": "AWS::Region" 
      }, 
      "\n", 
.................. 

我的問題是 - 你需要爲了在AWS::CloudFormation::Init執行指令手動調用cfn-initUserData ?如果是這樣,爲什麼呢?爲什麼不自動啓動它,所以配置部分總是會被執行(如果存在)?

回答

1

cfn-init.exe是EC2實例上的本地組件,它回傳給CloudFormation堆棧以執行AWS::CloudFormation::Init部分中的命令。

我不知道,但我相信它不會將實際腳本放入用戶數據的原因在於,如果您有自己的腳本,它不想修改用戶數據。而且,執行的命令可以通過傳遞到您的CloudFormation腳本中的參數進行動態變化。 cfn-init.exe工具可以讀取這些值並作出關於如何運行AWS::CloudFormation::Init命令的明智選擇。什麼cfn-init.exe

更多的信息在這裏所做的: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html

相關問題