起動時にいくつかのアクションを実行するために、beanstalkインスタンスであるアプリケーションサーバーが必要です。通常のEC2インスタンスで使用できるUserDataプロパティを使用してインスタンスに渡されるbashスクリプトを実行することを考えました。
通常のEC2インスタンスでこれを行うCloudFormationテンプレートの例をいくつか見つけましたが、Beanstalkの例はありません。これをアプリケーションのプロパティフィールドに追加しようとしました。
"MyApp" : {
"Type" : "AWS::ElasticBeanstalk::Application",
"Properties" : {
"Description" : "MyApp description",
"ApplicationVersions" : [{
...
}],
"UserData" : {
"Fn::Base64" : { "Fn::Join" : ["", [
"#!/bin/bash\n",
"touch /tmp/userdata_sucess\n"
]]
}},
...
また、環境部分に追加しようとしました:
"MyAppEnv" : {
"Type" : "AWS::ElasticBeanstalk::Environment",
"Properties" : {
"ApplicationName" : { "Ref" : "MyApp" },
"Description" : "MyApp environment description",
"UserData" : {
"Fn::Base64" : { "Fn::Join" : ["", [
"#!/bin/bash\n",
"touch /tmp/userdata_sucess\n"
]]
}},
"TemplateName" : "MyAppConfiguration",
"VersionLabel" : "First Cloud version"
}
},
どちらの場合も、スタックを作成しようとすると失敗しました。CloudFormationを使用してUserDataをBeanstalkインスタンスに渡すことが可能かどうかを誰かが知っていますか。もしそうなら-あなたは例を提供できますか?