Exemples d’utilisation de l’AWS CLI avec Elastic Beanstalk - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec Elastic Beanstalk

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec Elastic Beanstalk.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser abort-environment-update.

AWS CLI

Pour annuler un déploiement

La commande suivante annule le déploiement d’une version d’application en cours d’exécution pour un environnement nommé my-env :

aws elasticbeanstalk abort-environment-update --environment-name my-env
  • Pour plus de détails sur l’API, consultez AbortEnvironmentUpdate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser check-dns-availability.

AWS CLI

Pour vérifier la disponibilité d’un CNAME

La commande suivante vérifie la disponibilité du sous-domaine my-cname.elasticbeanstalk.com :

aws elasticbeanstalk check-dns-availability --cname-prefix my-cname

Sortie :

{ "Available": true, "FullyQualifiedCNAME": "my-cname.elasticbeanstalk.com" }
  • Pour plus de détails sur l’API, consultez CheckDnsAvailability dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-application-version.

AWS CLI

Pour créer une version d’application

La commande suivante crée une version, « v1 », d’une application nommée « MyApp » :

aws elasticbeanstalk create-application-version --application-name MyApp --version-label v1 --description MyAppv1 --source-bundle S3Bucket="amzn-s3-demo-bucket",S3Key="sample.war" --auto-create-application

Grâce à l’option de création automatique d’application, l’application sera créée automatiquement si elle n’existe pas déjà. Le groupe source est un fichier .war stocké dans un compartiment S3 nommé amzn-s3-demo-bucket qui contient l’exemple d’application Apache Tomcat.

Sortie :

{ "ApplicationVersion": { "ApplicationName": "MyApp", "VersionLabel": "v1", "Description": "MyAppv1", "DateCreated": "2015-02-03T23:01:25.412Z", "DateUpdated": "2015-02-03T23:01:25.412Z", "SourceBundle": { "S3Bucket": "amzn-s3-demo-bucket", "S3Key": "sample.war" } } }
  • Pour plus de détails sur l’API, consultez CreateApplicationVersion dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-application.

AWS CLI

Pour créer une application

La commande suivante crée une application nommée « MyApp » :

aws elasticbeanstalk create-application --application-name MyApp --description "my application"

La commande create-application configure uniquement le nom et la description de l’application. Pour charger le code source de l’application, créez une version initiale de l’application à l’aide de create-application-version. create-application-version dispose également d’une option auto-create-application qui vous permet de créer l’application et la version de l’application en une seule étape.

Sortie :

{ "Application": { "ApplicationName": "MyApp", "ConfigurationTemplates": [], "DateUpdated": "2015-02-12T18:32:21.181Z", "Description": "my application", "DateCreated": "2015-02-12T18:32:21.181Z" } }
  • Pour plus de détails sur l’API, consultez CreateApplication dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-configuration-template.

AWS CLI

Pour créer un modèle de configuration

La commande suivante crée un modèle de configuration nommé my-app-v1 à partir des paramètres appliqués à un environnement portant l’ID e-rpqsewtp2j :

aws elasticbeanstalk create-configuration-template --application-name my-app --template-name my-app-v1 --environment-id e-rpqsewtp2j

Sortie :

{ "ApplicationName": "my-app", "TemplateName": "my-app-v1", "DateCreated": "2015-08-12T18:40:39Z", "DateUpdated": "2015-08-12T18:40:39Z", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" }

L’exemple de code suivant montre comment utiliser create-environment.

AWS CLI

Pour créer un environnement pour une application

La commande suivante crée un environnement pour la version « v1 » d’une application Java nommée « my-app » :

aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --cname-prefix my-app --version-label v1 --solution-stack-name "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8"

Sortie :

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "v1", "Status": "Launching", "EnvironmentId": "e-izqpassy4h", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-app.elasticbeanstalk.com", "Health": "Grey", "Tier": { "Type": "Standard", "Name": "WebServer", "Version": " " }, "DateUpdated": "2015-02-03T23:04:54.479Z", "DateCreated": "2015-02-03T23:04:54.479Z" }

v1 est l’étiquette d’une version d’application précédemment chargée avec create-application-version.

Pour spécifier un fichier JSON afin de définir les options de configuration de l’environnement

La commande create-environment suivante indique qu’un fichier JSON portant le nom myoptions.json doit être utilisé pour remplacer les valeurs obtenues à partir de la pile de solutions ou du modèle de configuration :

aws elasticbeanstalk create-environment --environment-name sample-env --application-name sampleapp --option-settings file://myoptions.json

myoptions.json est un objet JSON définissant plusieurs paramètres :

[ { "Namespace": "aws:elb:healthcheck", "OptionName": "Interval", "Value": "15" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "Timeout", "Value": "8" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "HealthyThreshold", "Value": "2" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "UnhealthyThreshold", "Value": "3" } ]

Pour plus d’informations, consultez Valeurs des options dans le Manuel du développeur AWS Elastic Beanstalk.

  • Pour plus de détails sur l’API, consultez CreateEnvironment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-storage-location.

AWS CLI

Pour créer un emplacement de stockage

La commande suivante crée un emplacement de stockage dans Amazon S3 :

aws elasticbeanstalk create-storage-location

Sortie :

{ "S3Bucket": "elasticbeanstalk-us-west-2-0123456789012" }
  • Pour plus de détails sur l’API, consultez CreateStorageLocation dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-application-version.

AWS CLI

Pour supprimer une version d’application

La commande suivante supprime une version d’application nommée 22a0-stage-150819_182129 pour une application nommée my-app :

aws elasticbeanstalk delete-application-version --version-label 22a0-stage-150819_182129 --application-name my-app
  • Pour plus de détails sur l’API, consultez DeleteApplicationVersion dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-application.

AWS CLI

Pour supprimer une application

La commande suivante supprime une application nommée my-app :

aws elasticbeanstalk delete-application --application-name my-app
  • Pour plus de détails sur l’API, consultez DeleteApplication dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-configuration-template.

AWS CLI

Pour supprimer un modèle de configuration

La commande suivante supprime un modèle de configuration nommé my-template pour une application nommée my-app :

aws elasticbeanstalk delete-configuration-template --template-name my-template --application-name my-app

L’exemple de code suivant montre comment utiliser delete-environment-configuration.

AWS CLI

Pour supprimer un projet de configuration

La commande suivante permet de supprimer un projet de configuration pour un environnement nommé my-env :

aws elasticbeanstalk delete-environment-configuration --environment-name my-env --application-name my-app

L’exemple de code suivant montre comment utiliser describe-application-versions.

AWS CLI

Pour afficher les informations sur une version d’application

La commande suivante récupère les informations relatives à une version d’application intitulée v2 :

aws elasticbeanstalk describe-application-versions --application-name my-app --version-label "v2"

Sortie :

{ "ApplicationVersions": [ { "ApplicationName": "my-app", "VersionLabel": "v2", "Description": "update cover page", "DateCreated": "2015-07-23T01:32:26.079Z", "DateUpdated": "2015-07-23T01:32:26.079Z", "SourceBundle": { "S3Bucket": "elasticbeanstalk-us-west-2-015321684451", "S3Key": "my-app/5026-stage-150723_224258.war" } }, { "ApplicationName": "my-app", "VersionLabel": "v1", "Description": "initial version", "DateCreated": "2015-07-23T22:26:10.816Z", "DateUpdated": "2015-07-23T22:26:10.816Z", "SourceBundle": { "S3Bucket": "elasticbeanstalk-us-west-2-015321684451", "S3Key": "my-app/5026-stage-150723_222618.war" } } ] }

L’exemple de code suivant montre comment utiliser describe-applications.

AWS CLI

Pour afficher une liste des applications

La commande suivante récupère les informations sur les applications de la région actuelle :

aws elasticbeanstalk describe-applications

Sortie :

{ "Applications": [ { "ApplicationName": "ruby", "ConfigurationTemplates": [], "DateUpdated": "2015-08-13T21:05:44.376Z", "Versions": [ "Sample Application" ], "DateCreated": "2015-08-13T21:05:44.376Z" }, { "ApplicationName": "pythonsample", "Description": "Application created from the EB CLI using \"eb init\"", "Versions": [ "Sample Application" ], "DateCreated": "2015-08-13T19:05:43.637Z", "ConfigurationTemplates": [], "DateUpdated": "2015-08-13T19:05:43.637Z" }, { "ApplicationName": "nodejs-example", "ConfigurationTemplates": [], "DateUpdated": "2015-08-06T17:50:02.486Z", "Versions": [ "add elasticache", "First Release" ], "DateCreated": "2015-08-06T17:50:02.486Z" } ] }
  • Pour plus de détails sur l’API, consultez DescribeApplications dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-configuration-options.

AWS CLI

Pour afficher les options de configuration d’un environnement

La commande suivante récupère les descriptions de toutes les options de configuration disponibles pour un environnement nommé my-env :

aws elasticbeanstalk describe-configuration-options --environment-name my-env --application-name my-app

Sortie (abrégée) :

{ "Options": [ { "Name": "JVMOptions", "UserDefined": false, "DefaultValue": "Xms=256m,Xmx=256m,XX:MaxPermSize=64m,JVM Options=", "ChangeSeverity": "RestartApplicationServer", "Namespace": "aws:cloudformation:template:parameter", "ValueType": "KeyValueList" }, { "Name": "Interval", "UserDefined": false, "DefaultValue": "30", "ChangeSeverity": "NoInterruption", "Namespace": "aws:elb:healthcheck", "MaxValue": 300, "MinValue": 5, "ValueType": "Scalar" }, ... { "Name": "LowerThreshold", "UserDefined": false, "DefaultValue": "2000000", "ChangeSeverity": "NoInterruption", "Namespace": "aws:autoscaling:trigger", "MinValue": 0, "ValueType": "Scalar" }, { "Name": "ListenerEnabled", "UserDefined": false, "DefaultValue": "true", "ChangeSeverity": "Unknown", "Namespace": "aws:elb:listener", "ValueType": "Boolean" } ] }

Les options de configuration disponibles varient en fonction de la plateforme et de la version de configuration. Pour plus d’informations sur les espaces de noms et les options prises en charge, consultez Valeurs des options dans le Manuel du développeur AWS Elastic Beanstalk.

L’exemple de code suivant montre comment utiliser describe-configuration-settings.

AWS CLI

Pour afficher les paramètres de configuration d’un environnement

La commande suivante récupère les paramètres de configuration d’un environnement nommé my-env :

aws elasticbeanstalk describe-configuration-settings --environment-name my-env --application-name my-app

Sortie (abrégée) :

{ "ConfigurationSettings": [ { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Description": "Environment created from the EB CLI using \"eb create\"", "DeploymentStatus": "deployed", "DateCreated": "2015-08-13T19:16:25Z", "OptionSettings": [ { "OptionName": "Availability Zones", "ResourceName": "AWSEBAutoScalingGroup", "Namespace": "aws:autoscaling:asg", "Value": "Any" }, { "OptionName": "Cooldown", "ResourceName": "AWSEBAutoScalingGroup", "Namespace": "aws:autoscaling:asg", "Value": "360" }, ... { "OptionName": "ConnectionDrainingTimeout", "ResourceName": "AWSEBLoadBalancer", "Namespace": "aws:elb:policies", "Value": "20" }, { "OptionName": "ConnectionSettingIdleTimeout", "ResourceName": "AWSEBLoadBalancer", "Namespace": "aws:elb:policies", "Value": "60" } ], "DateUpdated": "2015-08-13T23:30:07Z", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" } ] }

Pour plus d’informations sur les espaces de noms et les options prises en charge, consultez Valeurs des options dans le Manuel du développeur AWS Elastic Beanstalk.

L’exemple de code suivant montre comment utiliser describe-environment-health.

AWS CLI

Pour consulter l’état de l’environnement

La commande suivante récupère les informations sur l’état général d’un environnement nommé my-env :

aws elasticbeanstalk describe-environment-health --environment-name my-env --attribute-names All

Sortie :

{ "Status": "Ready", "EnvironmentName": "my-env", "Color": "Green", "ApplicationMetrics": { "Duration": 10, "Latency": { "P99": 0.004, "P75": 0.002, "P90": 0.003, "P95": 0.004, "P85": 0.003, "P10": 0.001, "P999": 0.004, "P50": 0.001 }, "RequestCount": 45, "StatusCodes": { "Status3xx": 0, "Status2xx": 45, "Status5xx": 0, "Status4xx": 0 } }, "RefreshedAt": "2015-08-20T21:09:18Z", "HealthStatus": "Ok", "InstancesHealth": { "Info": 0, "Ok": 1, "Unknown": 0, "Severe": 0, "Warning": 0, "Degraded": 0, "NoData": 0, "Pending": 0 }, "Causes": [] }

Les informations sur l’état ne sont disponibles que pour les environnements dans lesquels les rapports améliorés sur l’état sont activés. Pour plus d’informations, consultez Surveillance et création de rapports d’intégrité améliorée dans le Manuel du développeur AWS Elastic Beanstalk.

L’exemple de code suivant montre comment utiliser describe-environment-resources.

AWS CLI

Pour afficher les informations sur les ressources AWS de votre environnement

La commande suivante récupère les informations sur les ressources d’un environnement nommé my-env :

aws elasticbeanstalk describe-environment-resources --environment-name my-env

Sortie :

{ "EnvironmentResources": { "EnvironmentName": "my-env", "AutoScalingGroups": [ { "Name": "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingGroup-QSB2ZO88SXZT" } ], "Triggers": [], "LoadBalancers": [ { "Name": "awseb-e-q-AWSEBLoa-1EEPZ0K98BIF0" } ], "Queues": [], "Instances": [ { "Id": "i-0c91c786" } ], "LaunchConfigurations": [ { "Name": "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingLaunchConfiguration-1UUVQIBC96TQ2" } ] } }

L’exemple de code suivant montre comment utiliser describe-environments.

AWS CLI

Pour afficher les informations sur un environnement

La commande suivante récupère les informations sur un environnement nommé my-env :

aws elasticbeanstalk describe-environments --environment-names my-env

Sortie :

{ "Environments": [ { "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "7f58-stage-150812_025409", "Status": "Ready", "EnvironmentId": "e-rpqsewtp2j", "EndpointURL": "awseb-e-w-AWSEBLoa-1483140XB0Q4L-109QXY8121.us-west-2.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Green", "AbortableOperationInProgress": false, "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-08-12T18:16:55.019Z", "DateCreated": "2015-08-07T20:48:49.599Z" } ] }
  • Pour plus de détails sur l’API, consultez DescribeEnvironments dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-events.

AWS CLI

Pour afficher les événements relatifs à un environnement

La commande suivante récupère les événements pour un environnement nommé my-env :

aws elasticbeanstalk describe-events --environment-name my-env

Sortie (abrégée) :

{ "Events": [ { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Message": "Environment health has transitioned from Info to Ok.", "EventDate": "2015-08-20T07:06:53.535Z", "Severity": "INFO" }, { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Severity": "INFO", "RequestId": "b7f3960b-4709-11e5-ba1e-07e16200da41", "Message": "Environment update completed successfully.", "EventDate": "2015-08-20T07:06:02.049Z" }, ... { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Severity": "INFO", "RequestId": "ca8dfbf6-41ef-11e5-988b-651aa638f46b", "Message": "Using elasticbeanstalk-us-west-2-012445113685 as Amazon S3 storage bucket for environment data.", "EventDate": "2015-08-13T19:16:27.561Z" }, { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Severity": "INFO", "RequestId": "cdfba8f6-41ef-11e5-988b-65638f41aa6b", "Message": "createEnvironment is starting.", "EventDate": "2015-08-13T19:16:26.581Z" } ] }
  • Pour plus de détails sur l’API, consultez DescribeEvents dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-instances-health.

AWS CLI

Pour consulter l’état de l’environnement

La commande suivante récupère les informations sur l’état des instances dans un environnement nommé my-env :

aws elasticbeanstalk describe-instances-health --environment-name my-env --attribute-names All

Sortie :

{ "InstanceHealthList": [ { "InstanceId": "i-08691cc7", "ApplicationMetrics": { "Duration": 10, "Latency": { "P99": 0.006, "P75": 0.002, "P90": 0.004, "P95": 0.005, "P85": 0.003, "P10": 0.0, "P999": 0.006, "P50": 0.001 }, "RequestCount": 48, "StatusCodes": { "Status3xx": 0, "Status2xx": 47, "Status5xx": 0, "Status4xx": 1 } }, "System": { "LoadAverage": [ 0.0, 0.02, 0.05 ], "CPUUtilization": { "SoftIRQ": 0.1, "IOWait": 0.2, "System": 0.3, "Idle": 97.8, "User": 1.5, "IRQ": 0.0, "Nice": 0.1 } }, "Color": "Green", "HealthStatus": "Ok", "LaunchedAt": "2015-08-13T19:17:09Z", "Causes": [] } ], "RefreshedAt": "2015-08-20T21:09:08Z" }

Les informations sur l’état ne sont disponibles que pour les environnements dans lesquels les rapports améliorés sur l’état sont activés. Pour plus d’informations, consultez Surveillance et création de rapports d’intégrité améliorée dans le Manuel du développeur AWS Elastic Beanstalk.

  • Pour plus de détails sur l’API, consultez DescribeInstancesHealth dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-available-solution-stacks.

AWS CLI

Pour afficher les piles de solutions

La commande suivante répertorie les piles de solutions pour toutes les configurations de plateforme actuellement disponibles et celles que vous avez utilisées dans le passé :

aws elasticbeanstalk list-available-solution-stacks

Sortie (abrégée) :

{ "SolutionStacks": [ "64bit Amazon Linux 2015.03 v2.0.0 running Node.js", "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.6", "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.5", "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.4", "64bit Amazon Linux 2015.03 v2.0.0 running Python 3.4", "64bit Amazon Linux 2015.03 v2.0.0 running Python 2.7", "64bit Amazon Linux 2015.03 v2.0.0 running Python", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.2 (Puma)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.2 (Passenger Standalone)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.1 (Puma)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.1 (Passenger Standalone)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.0 (Puma)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.0 (Passenger Standalone)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 1.9.3", "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 7 Java 7", "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 7 Java 6", "64bit Windows Server Core 2012 R2 running IIS 8.5", "64bit Windows Server 2012 R2 running IIS 8.5", "64bit Windows Server 2012 running IIS 8", "64bit Windows Server 2008 R2 running IIS 7.5", "64bit Amazon Linux 2015.03 v2.0.0 running Docker 1.6.2", "64bit Amazon Linux 2015.03 v2.0.0 running Multi-container Docker 1.6.2 (Generic)", "64bit Debian jessie v2.0.0 running GlassFish 4.1 Java 8 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running GlassFish 4.0 Java 7 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running Go 1.4 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running Go 1.3 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running Python 3.4 (Preconfigured - Docker)", ], "SolutionStackDetails": [ { "PermittedFileTypes": [ "zip" ], "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Node.js" }, ... ] }

L’exemple de code suivant montre comment utiliser rebuild-environment.

AWS CLI

Pour reconstruire un environnement

La commande suivante résilie et recrée les ressources dans un environnement nommé my-env :

aws elasticbeanstalk rebuild-environment --environment-name my-env
  • Pour plus de détails sur l’API, consultez RebuildEnvironment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser request-environment-info.

AWS CLI

Pour demander des journaux suivis

La commande suivante demande les journaux d’un environnement nommé my-env :

aws elasticbeanstalk request-environment-info --environment-name my-env --info-type tail

Après avoir demandé les journaux, récupérez leur emplacement avec retrieve-environment-info.

  • Pour plus de détails sur l’API, consultez RequestEnvironmentInfo dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser restart-app-server.

AWS CLI

Pour redémarrer les serveurs d’applications

La commande suivante redémarre les serveurs d’applications sur toutes les instances d’un environnement nommé my-env :

aws elasticbeanstalk restart-app-server --environment-name my-env
  • Pour plus de détails sur l’API, consultez RestartAppServer dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser retrieve-environment-info.

AWS CLI

Pour récupérer les journaux suivis

La commande suivante récupère un lien vers les journaux d’un environnement nommé my-env :

aws elasticbeanstalk retrieve-environment-info --environment-name my-env --info-type tail

Sortie :

{ "EnvironmentInfo": [ { "SampleTimestamp": "2015-08-20T22:23:17.703Z", "Message": "https://elasticbeanstalk-us-west-2-0123456789012.s3.amazonaws.com/resources/environments/logs/tail/e-fyqyju3yjs/i-09c1c867/TailLogs-1440109397703.out?AWSAccessKeyId=AKGPT4J56IAJ2EUBL5CQ&Expires=1440195891&Signature=n%2BEalOV6A2HIOx4Rcfb7LT16bBM%3D", "InfoType": "tail", "Ec2InstanceId": "i-09c1c867" } ] }

Affichez le lien dans un navigateur. Avant d’être extraits, les journaux doivent être demandés avec request-environment-info.

  • Pour plus de détails sur l’API, consultez RetrieveEnvironmentInfo dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser swap-environment-cnames.

AWS CLI

Pour échanger des CNAME d’environnement

La commande suivante échange les sous-domaines assignés de deux environnements :

aws elasticbeanstalk swap-environment-cnames --source-environment-name my-env-blue --destination-environment-name my-env-green
  • Pour plus de détails sur l’API, consultez SwapEnvironmentCnames dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser terminate-environment.

AWS CLI

Pour résilier un environnement

La commande suivante résilie un environnement Elastic Beanstalk nommé my-env :

aws elasticbeanstalk terminate-environment --environment-name my-env

Sortie :

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "Status": "Terminating", "EnvironmentId": "e-fh2eravpns", "EndpointURL": "awseb-e-f-AWSEBLoa-1I9XUMP4-8492WNUP202574.us-west-2.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Grey", "AbortableOperationInProgress": false, "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-08-12T19:05:54.744Z", "DateCreated": "2015-08-12T18:52:53.622Z" }
  • Pour plus de détails sur l’API, consultez TerminateEnvironment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-application-version.

AWS CLI

Pour modifier la description de la version d’une application

La commande suivante met à jour la description d’une version d’application nommée 22a0-stage-150819_185942 :

aws elasticbeanstalk update-application-version --version-label 22a0-stage-150819_185942 --application-name my-app --description "new description"

Sortie :

{ "ApplicationVersion": { "ApplicationName": "my-app", "VersionLabel": "22a0-stage-150819_185942", "Description": "new description", "DateCreated": "2015-08-19T18:59:17.646Z", "DateUpdated": "2015-08-20T22:53:28.871Z", "SourceBundle": { "S3Bucket": "elasticbeanstalk-us-west-2-0123456789012", "S3Key": "my-app/22a0-stage-150819_185942.war" } } }
  • Pour plus de détails sur l’API, consultez UpdateApplicationVersion dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-application.

AWS CLI

Pour modifier la description d’une application

La commande suivante met à jour la description d’une application nommée my-app :

aws elasticbeanstalk update-application --application-name my-app --description "my Elastic Beanstalk application"

Sortie :

{ "Application": { "ApplicationName": "my-app", "Description": "my Elastic Beanstalk application", "Versions": [ "2fba-stage-150819_234450", "bf07-stage-150820_214945", "93f8", "fd7c-stage-150820_000431", "22a0-stage-150819_185942" ], "DateCreated": "2015-08-13T19:15:50.449Z", "ConfigurationTemplates": [], "DateUpdated": "2015-08-20T22:34:56.195Z" } }
  • Pour plus de détails sur l’API, consultez UpdateApplication dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-configuration-template.

AWS CLI

Pour mettre à jour un modèle de configuration

La commande suivante supprime la configuration ConfigDocument des métriques d’état personnalisées CloudWatch d’un modèle de configuration enregistré nommé my-template :

aws elasticbeanstalk update-configuration-template --template-name my-template --application-name my-app --options-to-remove Namespace=aws:elasticbeanstalk:healthreporting:system,OptionName=ConfigDocument

Sortie :

{ "ApplicationName": "my-app", "TemplateName": "my-template", "DateCreated": "2015-08-20T22:39:31Z", "DateUpdated": "2015-08-20T22:43:11Z", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" }

Pour plus d’informations sur les espaces de noms et les options prises en charge, consultez Valeurs des options dans le Manuel du développeur AWS Elastic Beanstalk.

L’exemple de code suivant montre comment utiliser update-environment.

AWS CLI

Pour mettre à jour la version d’un environnement

La commande suivante met à jour un environnement nommé « my-env » vers la version « v2 » de l’application à laquelle il appartient :

aws elasticbeanstalk update-environment --environment-name my-env --version-label v2

Cette commande nécessite que l’environnement « my-env » existe déjà et appartienne à une application dont la version d’application est valide et porte l’étiquette « v2 ».

Sortie :

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "v2", "Status": "Updating", "EnvironmentId": "e-szqipays4h", "EndpointURL": "awseb-e-i-AWSEBLoa-1RDLX6TC9VUAO-0123456789.us-west-2.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux running Tomcat 7", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Grey", "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-02-03T23:12:29.119Z", "DateCreated": "2015-02-03T23:04:54.453Z" }

Pour définir une variable d’environnement

La commande suivante définit la valeur de la variable « PARAM1 » dans l’environnement « my-env » sur « ParamValue » :

aws elasticbeanstalk update-environment --environment-name my-env --option-settings Namespace=aws:elasticbeanstalk:application:environment,OptionName=PARAM1,Value=ParamValue

Le paramètre option-settings utilise un espace de noms en plus du nom et de la valeur de la variable. Elastic Beanstalk prend en charge plusieurs espaces de noms pour les options en plus des variables d’environnement.

Pour configurer les paramètres d’option à partir d’un fichier

La commande suivante configure plusieurs options dans l’espace de noms aws:elb:loadbalancer à partir d’un fichier :

aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://options.json

options.json est un objet JSON définissant plusieurs paramètres :

[ { "Namespace": "aws:elb:healthcheck", "OptionName": "Interval", "Value": "15" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "Timeout", "Value": "8" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "HealthyThreshold", "Value": "2" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "UnhealthyThreshold", "Value": "3" } ]

Sortie :

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "7f58-stage-150812_025409", "Status": "Updating", "EnvironmentId": "e-wtp2rpqsej", "EndpointURL": "awseb-e-w-AWSEBLoa-14XB83101Q4L-104QXY80921.sa-east-1.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Grey", "AbortableOperationInProgress": true, "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-08-12T18:15:23.804Z", "DateCreated": "2015-08-07T20:48:49.599Z" }

Pour plus d’informations sur les espaces de noms et les options prises en charge, consultez Valeurs des options dans le Manuel du développeur AWS Elastic Beanstalk.

  • Pour plus de détails sur l’API, consultez UpdateEnvironment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser validate-configuration-settings.

AWS CLI

Pour valider les paramètres de configuration

La commande suivante valide un document de configuration des métriques personnalisées de CloudWatch :

aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings file://options.json

options.json est un document JSON qui inclut un ou plusieurs paramètres de configuration à valider :

[ { "Namespace": "aws:elasticbeanstalk:healthreporting:system", "OptionName": "ConfigDocument", "Value": "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": null,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": null,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": null,\"ApplicationRequests2xx\": null,\"InstancesDegraded\": null,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": null,\"InstancesNoData\": null,\"InstancesPending\": 60,\"ApplicationLatencyP10\": null,\"ApplicationRequests5xx\": null,\"ApplicationLatencyP75\": null,\"InstancesOk\": 60,\"ApplicationRequests3xx\": null,\"ApplicationRequests4xx\": null},\"Instance\": {\"ApplicationLatencyP99.9\": null,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": null,\"ApplicationLatencyP95\": null,\"ApplicationLatencyP85\": null,\"CPUUser\": 60,\"ApplicationRequests2xx\": null,\"CPUIdle\": null,\"ApplicationLatencyP50\": null,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": null,\"LoadAverage1min\": null,\"CPUIrq\": null,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": null,\"LoadAverage5min\": null,\"ApplicationRequests5xx\": null,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": null,\"InstanceHealth\": null,\"CPUSoftirq\": 60}},\"Version\": 1}" } ]

Si les options que vous spécifiez sont valides pour l’environnement spécifié, Elastic Beanstalk renvoie un tableau de messages vide :

{ "Messages": [] }

Si la validation échoue, la réponse inclut des informations sur l’erreur :

{ "Messages": [ { "OptionName": "ConfigDocumet", "Message": "Invalid option specification (Namespace: 'aws:elasticbeanstalk:healthreporting:system', OptionName: 'ConfigDocumet'): Unknown configuration setting.", "Namespace": "aws:elasticbeanstalk:healthreporting:system", "Severity": "error" } ] }

Pour plus d’informations sur les espaces de noms et les options prises en charge, consultez Valeurs des options dans le Manuel du développeur AWS Elastic Beanstalk.