Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Elastic Beanstalk-Umgebungen mit der EB CLI verwalten
Nachdem Sie die EB CLI installiert und das Projektverzeichnis konfiguriert haben, können Sie nun eine Elastic Beanstalk-Umgebung mit der EB CLI erstellen, Quell- und Konfigurationsaktualisierungen bereitstellen sowie Protokolle und Ereignisse abrufen.
Anmerkung
Zum Erstellen von Umgebungen mit der EB CLI ist eine Servicerolle erforderlich. Eine Servicerolle generieren Sie, indem Sie eine Umgebung in der Elastic-Beanstalk-Konsole erstellen. Falls keine Servicerolle vorhanden ist, versucht die EB CLI eine Rolle zu erstellen, wenn Sie ausführen eb create
.
Die EB CLI gibt einen Beendigungscode gleich Null (0
) für alle erfolgreichen Befehle zurück und einen Beendigungscode ungleich Null, wenn Fehler aufgetreten sind.
In den folgenden Beispielen wird ein leerer Projektordner mit dem Namen eb
verwendet, der mit der EB CLI für eine Docker-Beispielanwendung initialisiert wurde.
Grundlegende Befehle
Eb create
Zum Erstellen Ihrer ersten Umgebung führen Sie eb create aus und folgen Sie den Anweisungen. Falls das Projektverzeichnis Quellcode enthält, wird dieser von der EB CLI gebündelt und in der Umgebung bereitgestellt. Andernfalls wird eine Beispielanwendung verwendet.
~/eb$ eb create
Enter Environment Name
(default is eb-dev): eb-dev
Enter DNS CNAME prefix
(default is eb-dev): eb-dev
WARNING: The current directory does not contain any source code. Elastic Beanstalk is launching the sample application instead.
Environment details for: elasticBeanstalkExa-env
Application name: elastic-beanstalk-example
Region: us-west-2
Deployed Version: Sample Application
Environment ID: e-j3pmc8tscn
Platform: 64bit Amazon Linux 2015.03 v1.4.3 running Docker 1.6.2
Tier: WebServer-Standard
CNAME: eb-dev.elasticbeanstalk.com
Updated: 2015-06-27 01:02:24.813000+00:00
Printing Status:
INFO: createEnvironment is starting.
-- Events -- (safe to Ctrl+C) Use "eb abort" to cancel the command.
Es kann einige Minuten dauern, bis die Umgebung einsatzbereit ist. Drücken Sie Strg+C, um zur Befehlszeile zurückzukehren, während die Umgebung erstellt wird.
Eb status
Führen Sie eb status aus, um den aktuellen Status der Umgebung aufzurufen. Lautet der Status ready
, steht die Beispielanwendung unter elasticbeanstalk.com zur Verfügung und die Umgebung kann aktualisiert werden.
~/eb$ eb status
Environment details for: elasticBeanstalkExa-env
Application name: elastic-beanstalk-example
Region: us-west-2
Deployed Version: Sample Application
Environment ID: e-gbzqc3jcra
Platform: 64bit Amazon Linux 2015.03 v1.4.3 running Docker 1.6.2
Tier: WebServer-Standard
CNAME: elasticbeanstalkexa-env.elasticbeanstalk.com
Updated: 2015-06-30 01:47:45.589000+00:00
Status: Ready
Health: Green
Eb health
Mit dem Befehl eb health zeigen Sie Zustandsinformationen zu den Instances der Umgebung sowie den allgemeinen Umgebungsstatus an. Verwenden Sie die Option --refresh
, um den Zustand in einer aktiven Ansicht anzuzeigen, die alle 10 Sekunden aktualisiert wird.
~/eb$ eb health
api Ok 2016-09-15 18:39:04
WebServer Java 8
total ok warning degraded severe info pending unknown
3 3 0 0 0 0 0 0
instance-id status cause health
Overall Ok
i-0ef05ec54918bf567 Ok
i-001880c1187493460 Ok
i-04703409d90d7c353 Ok
instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10
Overall 8.6 100.0 0.0 0.0 0.0 0.083* 0.065 0.053 0.040 0.019
i-0ef05ec54918bf567 2.9 29 0 0 0 0.069* 0.066 0.057 0.050 0.023
i-001880c1187493460 2.9 29 0 0 0 0.087* 0.069 0.056 0.050 0.034
i-04703409d90d7c353 2.8 28 0 0 0 0.051* 0.027 0.024 0.021 0.015
instance-id type az running load 1 load 5 user% nice% system% idle% iowait%
i-0ef05ec54918bf567 t2.micro 1c 23 mins 0.19 0.05 3.0 0.0 0.3 96.7 0.0
i-001880c1187493460 t2.micro 1a 23 mins 0.0 0.0 3.2 0.0 0.3 96.5 0.0
i-04703409d90d7c353 t2.micro 1b 1 day 0.0 0.0 3.6 0.0 0.2 96.2 0.0
instance-id status id version ago deployments
i-0ef05ec54918bf567 Deployed 28 app-bc1b-160915_181041 20 mins
i-001880c1187493460 Deployed 28 app-bc1b-160915_181041 20 mins
i-04703409d90d7c353 Deployed 28 app-bc1b-160915_181041 27 mins
Eb events
Verwenden Sie eb events, um eine Liste der von Elastic Beanstalk ausgegebenen Ereignisse anzuzeigen.
~/eb$ eb events
2015-06-29 23:21:09 INFO createEnvironment is starting.
2015-06-29 23:21:10 INFO Using elasticbeanstalk-us-east-2-EXAMPLE as Amazon S3 storage bucket for environment data.
2015-06-29 23:21:23 INFO Created load balancer named: awseb-e-g-AWSEBLoa-EXAMPLE
2015-06-29 23:21:42 INFO Created security group named: awseb-e-gbzqc3jcra-stack-AWSEBSecurityGroup-EXAMPLE
...
Eb logs
Verwenden Sie eb logs, um Protokolle von einer Instance der Umgebung abzurufen. Standardmäßig werden mit eb logs Protokolle von der zuerst gestarteten Instance abgerufen und in der Standardausgabe angezeigt. Sie können eine Instance-ID mit der --instance-Option angeben und so Protokolle von einer bestimmten Instance abrufen.
Über die Option --all werden die Protokolle von allen Instances abgerufen und unter .elasticbeanstalk/logs
in Unterverzeichnissen gespeichert.
~/eb$ eb logs --all
Retrieving logs...
Logs were saved to /home/local/ANT/mwunderl/ebcli/environments/test/.elasticbeanstalk/logs/150630_201410
Updated symlink at /home/local/ANT/mwunderl/ebcli/environments/test/.elasticbeanstalk/logs/latest
Eb open
Verwenden Sie eb open, um die Website der Umgebung in einem Browser zu öffnen:
~/eb$ eb open
In einer Windowed-Umgebung wird der Standardbrowser in einem neuen Fenster geöffnet. In einer Terminal-Umgebung wird ein Befehlszeilen-Browser (z. B. w3m) verwendet (sofern vorhanden).
Eb deploy
Sobald die Umgebung einsatzbereit ist, können Sie diese mit eb deploy aktualisieren.
Dieser Befehl ist besser geeignet, wenn Quellcode gebündelt und bereitgestellt wird, daher wurde in diesem Beispiel eine Dockerfile
-Datei mit folgendem Inhalt im Projektverzeichnis erstellt:
~/eb/Dockerfile
FROM ubuntu:12.04
RUN apt-get update
RUN apt-get install -y nginx zip curl
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
RUN curl -o /usr/share/nginx/www/master.zip -L https://codeload.github.com/gabrielecirulli/2048/zip/master
RUN cd /usr/share/nginx/www/ && unzip master.zip && mv 2048-master/* . && rm -rf 2048-master master.zip
EXPOSE 80
CMD ["/usr/sbin/nginx", "-c", "/etc/nginx/nginx.conf"]
Mit der Dockerfile
-Datei wird ein Ubuntu 12.04-Image bereitgestellt und das Spiel 2048
installiert. Führen Sie eb deploy aus, um die Anwendung in die Umgebung hochzuladen:
~/eb$ eb deploy
Creating application version archive "app-150630_014338".
Uploading elastic-beanstalk-example/app-150630_014338.zip to S3. This may take a while.
Upload Complete.
INFO: Environment update is starting.
-- Events -- (safe to Ctrl+C) Use "eb abort" to cancel the command.
Bei Ausführung von eb deploy werden die Inhalte des Projektverzeichnisses von der EB CLI gebündelt und in der Umgebung bereitgestellt.
Anmerkung
Sofern Sie ein Git-Repository im Projektordner initialisiert haben, wird stets der neueste Commit von der EB CLI bereitgestellt, auch im Falle ausstehender Änderungen. Übergeben Sie die Änderungen, bevor Sie diese mit eb deploy in der Umgebung bereitstellen.
Eb config
Zeigen Sie mit dem Befehl eb config die Konfigurationsoptionen an, die für Ihre ausgeführte Umgebung verfügbar sind:
~/eb$ eb config
ApplicationName: elastic-beanstalk-example
DateUpdated: 2015-06-30 02:12:03+00:00
EnvironmentName: elasticBeanstalkExa-env
SolutionStackName: 64bit Amazon Linux 2015.03 v1.4.3 running Docker 1.6.2
settings:
AWSEBAutoScalingScaleDownPolicy.aws:autoscaling:trigger:
LowerBreachScaleIncrement: '-1'
AWSEBAutoScalingScaleUpPolicy.aws:autoscaling:trigger:
UpperBreachScaleIncrement: '1'
AWSEBCloudwatchAlarmHigh.aws:autoscaling:trigger:
UpperThreshold: '6000000'
...
Mit diesem Befehl wird eine Liste der verfügbaren Konfigurationsoptionen in einem Texteditor angezeigt. Viele der angezeigten Optionen weisen den Wert null
auf, das heißt, sie werden nicht standardmäßig gesetzt, sondern können zur Aktualisierung der Umgebungsressourcen geändert werden. Weitere Informationen zu diesen Optionen finden Sie unter Konfigurationsoptionen.
Eb terminate
Falls Sie die Umgebung nicht mehr benötigen, können Sie diese mit eb terminate beenden.
~/eb$ eb terminate
The environment "eb-dev" and all associated instances will be terminated.
To confirm, type the environment name: eb-dev
INFO: terminateEnvironment is starting.
INFO: Deleted CloudWatch alarm named: awseb-e-jc8t3pmscn-stack-AWSEBCloudwatchAlarmHigh-1XLMU7DNCBV6Y
INFO: Deleted CloudWatch alarm named: awseb-e-jc8t3pmscn-stack-AWSEBCloudwatchAlarmLow-8IVI04W2SCXS
INFO: Deleted Auto Scaling group policy named: arn:aws:autoscaling:us-east-2:123456789012:scalingPolicy:1753d43e-ae87-4df6-a405-11d31f4c8f97:autoScalingGroupName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingGroup-90TTS2ZL4MXV:policyName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingScaleUpPolicy-A070H1BMUQAJ
INFO: Deleted Auto Scaling group policy named: arn:aws:autoscaling:us-east-2:123456789012:scalingPolicy:1fd24ea4-3d6f-4373-affc-4912012092ba:autoScalingGroupName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingGroup-90TTS2ZL4MXV:policyName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingScaleDownPolicy-LSWFUMZ46H1V
INFO: Waiting for EC2 instances to terminate. This may take a few minutes.
-- Events -- (safe to Ctrl+C)
Eine vollständige Liste der verfügbaren EB CLI-Befehle finden Sie unter EB-CLI-Befehlsreferenz.
Wichtig
Wenn Sie eine Umgebung beenden, müssen Sie auch alle CNAME-Zuordnungen löschen, die Sie erstellt haben, damit andere Kunden einen verfügbaren Hostnamen wiederverwenden können. Achten Sie darauf, DNS-Einträge zu löschen, die auf Ihre beendete Umgebung verweisen, um zu verhindern, dass ein DNS-Eintrag hängenbleibt. Ein hängender DNS-Eintrag kann den Internetdatenverkehr, der für Ihre Domain bestimmt ist, Sicherheitslücken aussetzen. Er kann auch andere Risiken bergen.
Weitere Informationen finden Sie unter Schutz vor hängenden Delegierungsdatensätzen in Route 53 im Entwicklerhandbuch von Amazon Route 53. Sie können auch mehr über hängende DNS-Einträge in Enhanced Domain Protections for Amazon CloudFront Requests