Como especificar um arquivo Dockerun para uma implantação Beanstalk apoiada por Docker no modelo Cloudformation

Como especificar um arquivo Dockerun para uma implantação Beanstalk apoiada por Docker no modelo Cloudformation

Quero criar um modelo Cloudformation para iniciar um aplicativo Elastic Beanstalk baseado na plataforma Docker. Consegui fazer manualmente a configuração, que inclui o upload do Dockerrun.aws.json.

Pelo que vi, este arquivo pode ser especificado como SourceBundle como uma referência a um objeto S3. No entanto, não consigo encontrar uma maneira de colocar o conteúdo do arquivo Dockerrun.aws.json como parte do modelo.

Já vi exemplos de implantações do EC2, nos quais o conteúdo dos arquivos de configuração pode fazer parte do modelo.

Responder1

Como alternativa ao uso das tarefas do AWS Elastic Beanstalk incorporadas ao Tasks for AWS, também é possível provisionar os componentes do Elastic Beanstalk diretamente por meio da tarefa AWS CloudFormation Stack e dos tipos de recursos do CloudFormation correspondentes:

AWS::ElasticBeanstalk::Aplicativo

AWS::ElasticBeanstalk::ApplicationVersion

AWS::ElasticBeanstalk::Ambiente

No seu caso, verifique o objeto ApplicationVersion onde está descrito como gerenciar o arquivo Dockerrun.aws.json usando CloudFormation.

Exemplo:

"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"
    } 
  }
}

informação relacionada