Вы можете использовать AWS :: CloudFormation :: Init и передавать команды оболочки напрямую (см. Первый пример) или, например, записывать файлы (второй пример)
{
"Resources": {
"MyEc2Instance": {
"Type": "AWS::EC2::Instance",
"Metadata": {
"AWS::CloudFormation::Init": {
"do_something": {
"commands": {
"foobar": {
"command": "echo FOO > /etc/motd"
}
}
}
}
},
"Properties": {
...
}
}
}
}
{
"Resources": {
"MyEc2Instance": {
"Type": "AWS::EC2::Instance",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"do_something" : {
"files" : {
"/usr/local/bin/myscript.sh" : {
"content" : { "Fn::Join" : ["", [
"#!/bin/sh\n",
"ls -al\n"
]]},
"mode" : "000755",
"owner" : "root",
"group" : "root"
}
}
}
}
},
"Properties": {
}
}
}
}