6

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?

Respuesta

6

Si quiere tener todas las ventajas que ofrece Beanstalk, como no tener que parchar el sistema operativo que Amazon hace por usted, esto no es posible. Una opción es crear un AMI personalizado donde incluya los scripts necesarios, pero luego debe administrar el sistema operativo usted mismo con parches de seguridad. Leer más here.

+0

+1 para seguir con su propia pregunta, ¡gracias! –

+0

@tronda, ¿sabes si sigue siendo el mismo 6 años después? –

+0

Lo siento, no he trabajado con Beanstalk desde esta publicación. @AlexanderF. – tronda

Cuestiones relacionadas