Ich möchte eine Cloudformation-Vorlage zum Starten einer Elastic Beanstalk-Anwendung auf Basis der Docker-Plattform erstellen. Ich habe es geschafft, das Setup manuell durchzuführen, einschließlich des Hochladens von Dockerrun.aws.json.
Soweit ich gesehen habe, kann diese Datei als SourceBundle als Referenz auf ein S3-Objekt angegeben werden. Ich kann jedoch keine Möglichkeit finden, den Inhalt der Datei Dockerrun.aws.json als Teil der Vorlage einzufügen.
Ich habe Beispiele für EC2-Bereitstellungen gesehen, bei denen der Inhalt von Konfigurationsdateien Teil der Vorlage sein kann.
Antwort1
Alternativ zur Verwendung der in Tasks for AWS integrierten AWS Elastic Beanstalk-Tasks ist es auch möglich, die Elastic Beanstalk-Komponenten direkt über die AWS CloudFormation Stack-Task und die entsprechenden CloudFormation-Ressourcentypen bereitzustellen:
Überprüfen Sie in Ihrem Fall das ApplicationVersion-Objekt, in dem beschrieben wird, wie die Datei Dockerrun.aws.json mit CloudFormation verwaltet wird.
Beispiel:
"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"
}
}
}