2017-09-07 15 views
0

AWS::CloudFormation::Initの設定セクションはfilescommandsサブセクションであるようです。手動でAWS::CloudFormation::Initで命令を実行するためにUserDataからcfn-initを呼び出す必要がない - 私の質問があるUserDataからcfn-initを呼び出す必要がありますか?

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

:しかし、私は持っているサンプルスクリプトでcfn-initを呼び出すPropertiesでBase64エンコードUserDataもあります?もしそうなら、それはなぜですか?なぜ自動的に起動しないので、configセクションが存在する場合には常に実行されますか?

答えて

1

cfn-init.exeは、AWS::CloudFormation::Initセクション内のコマンドを実行するためにCloudFormationスタックに戻って通信するEC2インスタンスのローカルコンポーネントです。

私はわかりませんが、実際のスクリプトをユーザーデータに入れない理由は、自分のスクリプトがある場合にユーザーデータを変更したくないということです。また、実行するコマンドは、CloudFormationスクリプトに渡されたパラメータから動的になります。 cfn-init.exeツールでは、これらの値を読み取り、AWS::CloudFormation::Initコマンドの実行方法を賢明に選択できます。 cfn-init.exeがここで何をするかに

詳細情報: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html

関連する問題