Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Gestione degli ambienti Elastic Beanstalk con l'interfaccia a riga di comando EB
Dopo aver installato l'interfaccia a riga di comando EB e configurato la directory di progetto, potrai creare un ambiente Elastic Beanstalk utilizzando l'interfaccia a riga di comando EB per distribuire aggiornamenti di configurazione e origine e per ottenere log ed eventi.
Nota
La creazione di ambienti con CLI EB richiede un ruolo del servizio. Puoi creare un ruolo di servizio tramite la creazione di un ambiente nella console Elastic Beanstalk. Se non disponi di un ruolo del servizio, CLI EB tenta di crearne uno durante l'esecuzione di eb create
.
L'interfaccia a riga di comando EB restituisce un codice di uscita pari a zero (0
) per tutti i comandi con esito positivo e un codice di uscita diverso da zero quando si verifica un errore.
Il seguente esempio utilizza una cartella di progetto vuota denominata eb
, inizializzata con l'interfaccia a riga di comando EB per l'uso con un'applicazione Docker di esempio.
Eb create
Per creare il tuo primo ambiente, esegui eb create e segui le istruzioni. Se la tua directory di progetto include codice sorgente, l'interfaccia a riga di comando EB lo aggregherà in bundle e lo distribuirà al tuo ambiente. In caso contrario, verrà utilizzata un'applicazione di esempio.
~/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.
Prima che il tuo ambiente sia pronto potrebbero passare diversi minuti. Premi Ctrl+C per tornare alla riga di comando durante la creazione dell'ambiente.
Eb status
Esegui eb status per visualizzare lo stato attuale del tuo ambiente. Quando lo stato è ready
, l'applicazione di esempio è disponibile in elasticbeanstalk.com e l'ambiente è pronto per essere aggiornato.
~/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
Utilizza il comando eb health per visualizzare le informazioni sullo stato delle istanze nel tuo ambiente e sullo stato dell'ambiente in generale. Utilizza l'opzione --refresh
per vedere lo stato in una visualizzazione interattiva che si aggiorna ogni 10 secondi.
~/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
Utilizza eb events per visualizzare un elenco di eventi output di Elastic Beanstalk.
~/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
Utilizza eb logs per estrarre log da un'istanza nel tuo ambiente. Per impostazione predefinita, eb logs estrae log dalla prima istanza lanciata e li visualizza nell'output standard. Puoi specificare un ID istanza con l'opzione --instance per ottenere log da un'istanza specifica.
L'opzione --all estrae log da tutte le istanze e li salva nelle sottodirectory in .elasticbeanstalk/logs
.
~/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
Per aprire il sito Web del tuo ambiente in un browser, utilizza eb open:
~/eb$ eb open
In un ambiente in modalità finestra, il tuo browser predefinito verrà aperto in una nuova finestra. In un ambiente in modalità terminale, verrà utilizzato un browser a riga di comando (ad esempio w3m), se disponibile.
Eb deploy
Una volta che l'ambiente è operativo, puoi aggiornarlo utilizzando eb deploy.
Questo comando funziona meglio con codice sorgente da integrare in un bundle e distribuire. Pertanto per questo esempio abbiamo creato un Dockerfile
nella directory di progetto con il seguente contenuto:
~/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"]
Questo Dockerfile
distribuisce un'immagine di Ubuntu 12.04 e installa il gioco 2048
. Esegui eb deploy per caricare l'applicazione nel tuo ambiente:
~/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.
Quando esegui eb deploy, la CLI EB integra i contenuti della tua directory di progetto in un bundle e li distribuisce al tuo ambiente.
Nota
Se hai inizializzato un archivio git nella tua cartella di progetto, l'interfaccia a riga di comando EB distribuirà sempre il commit più recente, anche se sono presenti modifiche in sospeso. Applica le modifiche prima di eseguire eb deploy per distribuirle al tuo ambiente.
Eb config
Controlla le opzioni di configurazione disponibili per l'ambiente in esecuzione con il comando eb config:
~/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'
...
Questo comando popola un elenco di opzioni di configurazione disponibili in un editor di testo. Molte delle opzioni visualizzate presentano un valore null
. Non sono configurate per impostazione predefinita, ma possono essere modificate per aggiornare le risorse nel tuo ambiente. Per ulteriori informazioni su queste opzioni, consulta Opzioni di configurazione.
Eb terminate
Se per il momento hai finito di utilizzare l'ambiente, usa eb terminate per chiuderlo.
~/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)
Per l'elenco completo dei comandi disponibili dell'interfaccia a riga di comando EB, consulta Riferimento ai comandi CLI EB.
Importante
Se un ambiente viene terminato, è necessario anche eliminare eventuali mappature CNAME create, poiché altri clienti possono riutilizzare un nome host disponibile. Assicurati di eliminare i record DNS che puntano al tuo ambiente terminato per evitare una voce DNS inesatta. Una voce DNS inesatta può esporre il traffico Internet destinato al tuo dominio a vulnerabilità di sicurezza. Può presentare anche altri rischi.
Per ulteriori informazioni, consulta l'argomento relativo alla Protezione dai record di delega inesatti in Route 53 nella Guida per sviluppatori di Amazon Route 53. Puoi anche saperne di più sulle voci DNS inesatte in Richieste di protezione del dominio avanzata per Amazon CloudFront