直到现在,我已经手动启动EC2实例,通过bash脚本进行复制,该脚本下载我的厨师和厨师工件,并调用厨师独奏来调配实例。
公司的前AWS工程师曾经创build过CF模板, 我几乎不知道如何使用。
有没有办法将我的bash脚本整合到CF模板中,以便在CF EC2实例启动时,我的bash脚本被调用并且实例是auto-provisioned
?
是的,您可以使用AWS::EC2::Instance
对象的UserData
属性。
这个属性需要inputshell脚本的base64编码版本。 但是,您可以通过Cloudformation Base64函数的帮助来提供脚本:
"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [ "#!/bin/bash -v\n", "# Script goes here\n" ]]}}