Cómo especificar un archivo Dockerun para una implementación de Beanstalk respaldada por Docker en la plantilla de Cloudformation

Cómo especificar un archivo Dockerun para una implementación de Beanstalk respaldada por Docker en la plantilla de Cloudformation

Quiero crear una plantilla de Cloudformation para iniciar una aplicación Elastic Beanstalk basada en la plataforma Docker. Logré realizar manualmente la configuración, que incluye cargar Dockerrun.aws.json.

Por lo que he visto, este archivo se puede especificar como SourceBundle como referencia a un objeto S3. Sin embargo, no puedo encontrar una manera de colocar el contenido del archivo Dockerrun.aws.json como parte de la plantilla.

He visto ejemplos de implementaciones EC2, en las que el contenido de los archivos de configuración puede ser parte de la plantilla.

Respuesta1

Como alternativa al uso de las tareas de AWS Elastic Beanstalk integradas en Tasks for AWS, también es posible aprovisionar los componentes de Elastic Beanstalk directamente a través de la tarea AWS CloudFormation Stack y los tipos de recursos de CloudFormation correspondientes:

AWS::ElasticBeanstalk::Aplicación

AWS::ElasticBeanstalk::Versión de aplicación

AWS::ElasticBeanstalk::Medio ambiente

En su caso, consulte el objeto ApplicationVersion donde se describe cómo administrar el archivo Dockerrun.aws.json usando CloudFormation.

Ejemplo:

"myAppVersion" :{ 
  "Type" : "AWS::ElasticBeanstalk::ApplicationVersion",
  "Properties" : {
    "ApplicationName" : {"Ref" : "myAppName"},
    "Description" : "ElasticBeanStalk_conf",
    "SourceBundle" : {
      "S3Bucket" : { "Fn::Join" :
        ["-", [ "elasticbeanstalk-conf", { "Ref" : "AWS::Region" } ] ] },
      "S3Key" : "Dockerrun.aws.json"
    } 
  }
}

información relacionada