Назад | Перейти на главную страницу

Как указать файл Dockerun для развертывания Beanstalk с поддержкой Docker в шаблоне Cloudformation

Я хочу создать шаблон Cloudformation для запуска приложения Elastic Beanstalk на базе платформы Docker. Мне удалось вручную выполнить настройку, включая загрузку Dockerrun.aws.json.

Из того, что я видел, этот файл можно указать как SourceBundle как ссылку на объект S3. Однако я не могу найти способ поместить содержимое файла Dockerrun.aws.json как часть в шаблон.

Я видел примеры развертываний EC2, в которых содержимое файлов конфигурации может быть частью шаблона.

В качестве альтернативы использованию задач AWS Elastic Beanstalk, встроенных в Tasks for AWS, также можно выделить компоненты Elastic Beanstalk напрямую через задачу AWS CloudFormation Stack и соответствующие типы ресурсов CloudFormation:

AWS :: ElasticBeanstalk :: Приложение

AWS :: ElasticBeanstalk :: ApplicationVersion

AWS :: ElasticBeanstalk :: Окружающая среда

В вашем случае проверьте объект ApplicationVersion, где описано, как управлять файлом Dockerrun.aws.json с помощью CloudFormation.

Пример:

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