Necesito que el servidor de aplicaciones, que son instancias de beanstalk, realice algunas acciones al iniciar y pensé en ejecutar un script bash pasado a la instancia con la propiedad UserData que está disponible a instancias regulares de EC2.Cómo paso UserData a una instancia de Beanstalk con CloudFormation
He encontrado varios ejemplos de plantillas de CloudFormation que lo hacen con instancias regulares de EC2, pero no hay ejemplos con Beanstalk. He intentado añadir esto al campo de propiedades para la aplicación:
"MyApp" : {
"Type" : "AWS::ElasticBeanstalk::Application",
"Properties" : {
"Description" : "MyApp description",
"ApplicationVersions" : [{
...
}],
"UserData" : {
"Fn::Base64" : { "Fn::Join" : ["", [
"#!/bin/bash\n",
"touch /tmp/userdata_sucess\n"
]]
}},
...
También probé a añadir a la parte medio ambiente:
"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"
}
},
En ambos casos esto se tradujo en un fracaso cuando se trata de crear la pila. ¿Alguien sabe si es posible pasar UserData a una instancia de Beanstalk usando CloudFormation? Si es así, ¿puedes dar un ejemplo?
+1 para seguir con su propia pregunta, ¡gracias! –
@tronda, ¿sabes si sigue siendo el mismo 6 años después? –
Lo siento, no he trabajado con Beanstalk desde esta publicación. @AlexanderF. – tronda