Я хочу создать шаблон Cloudformation для запуска приложения Elastic Beanstalk на базе платформы Docker. Мне удалось вручную выполнить настройку, которая включает загрузку Dockerrun.aws.json.
Из того, что я видел, этот файл можно указать как SourceBundle как ссылку на объект S3. Однако я не могу найти способ поместить содержимое файла Dockerrun.aws.json как часть шаблона.
Я видел примеры развертываний EC2, в которых содержимое файлов конфигурации может быть частью шаблона.
решение1
В качестве альтернативы использованию задач AWS Elastic Beanstalk, встроенных в Tasks for AWS, также можно предоставлять компоненты Elastic Beanstalk напрямую через задачу AWS CloudFormation Stack и соответствующие типы ресурсов CloudFormation:
AWS::ElasticBeanstalk::Приложение
AWS::ElasticBeanstalk::Версия приложения
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"
}
}
}