AWS CLI を使用した Elastic Beanstalk の例 - AWS Command Line Interface

AWS CLI を使用した Elastic Beanstalk の例

次のコード例は、Elastic Beanstalk で AWS Command Line Interfaceを使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

トピック

アクション

次のコード例では、abort-environment-update を使用する方法を示しています。

AWS CLI

デプロイを中止するには

次のコマンドは、my-env という名前の環境に対して実行中のアプリケーションバージョンデプロイを中止します。

aws elasticbeanstalk abort-environment-update --environment-name my-env
  • API の詳細については、「AWS CLI コマンドリファレンス」の「AbortEnvironmentUpdate」を参照してください。

次のコード例では、check-dns-availability を使用する方法を示しています。

AWS CLI

CNAME を可用性を確認するには

次のコマンドは、サブドメイン my-cname.elasticbeanstalk.com の可用性をチェックします。

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

出力:

{ "Available": true, "FullyQualifiedCNAME": "my-cname.elasticbeanstalk.com" }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「CheckDnsAvailability」を参照してください。

次のコード例では、create-application-version を使用する方法を示しています。

AWS CLI

新しいアプリケーションバージョンを作成するには

次のコマンドは、「MyApp」という名前のアプリケーションの新しいバージョン「v1」を作成します。

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

auto-create-application オプションにより、アプリケーションがまだ存在しない場合は自動的に作成されます。ソースバンドルは、「amzn-s3-demo-bucket」という名前の s3 バケットに保存されている .war ファイルであり、Apache Tomcat サンプルアプリケーションが含まれています。

出力:

{ "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" } } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateApplicationVersion」を参照してください。

次のコード例では、create-application を使用する方法を示しています。

AWS CLI

新しいアプリケーションを作成するには

次のコマンドは、「MyApp」という名前の新しいアプリケーションを作成します。

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

create-application コマンドは、アプリケーションの名前と説明のみを設定します。アプリケーションのソースコードをアップロードするには、create-application-version を使用してアプリケーションの初期バージョンを作成します。create-application-version には、アプリケーションとアプリケーションバージョンを 1 ステップで作成できる auto-create-application オプションもあります。

出力:

{ "Application": { "ApplicationName": "MyApp", "ConfigurationTemplates": [], "DateUpdated": "2015-02-12T18:32:21.181Z", "Description": "my application", "DateCreated": "2015-02-12T18:32:21.181Z" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateApplication」を参照してください。

次のコード例では、create-configuration-template を使用する方法を示しています。

AWS CLI

設定テンプレートを作成するには

次のコマンドは、ID が e-rpqsewtp2j の環境に適用される設定から my-app-v1 という名前の設定テンプレートを作成します。

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

出力:

{ "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" }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateConfigurationTemplate」を参照してください。

次のコード例では、create-environment を使用する方法を示しています。

AWS CLI

アプリケーション用の新しい環境を作成するには

次のコマンドは、「my-app」という名前の Java アプリケーションのバージョン「v1」用の新しい環境を作成します。

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"

出力:

{ "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 は、以前に create-application-version でアップロードされたアプリケーションバージョンのラベルです。

環境設定オプションを定義する JSON ファイルを指定するには

次の create-environment コマンドは、myoptions.json という名前の JSON ファイルを使用して、ソリューションスタックまたは設定テンプレートから取得した値を上書きするように指定します。

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

myoptions.json は、いくつかの設定を定義する JSON オブジェクトです。

[ { "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" } ]

詳細については、「AWS Elastic Beanstalk デベロッパーガイド」の「オプション値」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateEnvironment」を参照してください。

次のコード例では、create-storage-location を使用する方法を示しています。

AWS CLI

ストレージの場所を作成するには

次のコマンドは、Amazon S3 のストレージロケーションを作成します。

aws elasticbeanstalk create-storage-location

出力:

{ "S3Bucket": "elasticbeanstalk-us-west-2-0123456789012" }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateStorageLocation」を参照してください。

次のコード例では、delete-application-version を使用する方法を示しています。

AWS CLI

アプリケーションバージョンを削除するには

次のコマンドは、my-app という名前のアプリケーションで 22a0-stage-150819_182129 という名前のアプリケーションバージョンを削除します。

aws elasticbeanstalk delete-application-version --version-label 22a0-stage-150819_182129 --application-name my-app
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteApplicationVersion」を参照してください。

次のコード例では、delete-application を使用する方法を示しています。

AWS CLI

アプリケーションを削除するには

次のコマンドは、my-app という名前のアプリケーションが削除します。

aws elasticbeanstalk delete-application --application-name my-app
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteApplication」を参照してください。

次のコード例では、delete-configuration-template を使用する方法を示しています。

AWS CLI

設定テンプレートを削除するには

次のコマンドは、my-app という名前のアプリケーションの my-template という名前の設定テンプレートを削除します。

aws elasticbeanstalk delete-configuration-template --template-name my-template --application-name my-app
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteConfigurationTemplate」を参照してください。

次のコード例では、delete-environment-configuration を使用する方法を示しています。

AWS CLI

ドラフト設定を削除するには

次のコマンドは、my-env という名前の環境のドラフト設定を削除します。

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

次のコード例では、describe-application-versions を使用する方法を示しています。

AWS CLI

アプリケーションバージョンの情報を表示するには

次のコマンドは、v2 というラベルのアプリケーションバージョンに関する情報を取得します。

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

出力:

{ "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" } } ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeApplicationVersions」を参照してください。

次のコード例では、describe-applications を使用する方法を示しています。

AWS CLI

アプリケーションのリストを表示するには

次のコマンドは、現在のリージョンのアプリケーションに関する情報を取得します。

aws elasticbeanstalk describe-applications

出力:

{ "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" } ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeApplications」を参照してください。

次のコード例では、describe-configuration-options を使用する方法を示しています。

AWS CLI

環境の設定オプションを表示するには

次のコマンドは、my-env という名前の環境で使用できるすべての設定オプションの記述を取得します。

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

出力 (省略):

{ "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" } ] }

使用可能な設定オプションは、プラットフォームと設定バージョンによって異なります。名前空間とサポートされているオプションの詳細については、「AWS Elastic Beanstalk デベロッパーガイド」の「Option Values」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeConfigurationOptions」を参照してください。

次のコード例では、describe-configuration-settings を使用する方法を示しています。

AWS CLI

環境の設定を表示するには

次のコマンドは、my-env という名前の環境の設定を取得します。

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

出力 (省略):

{ "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" } ] }

名前空間とサポートされているオプションの詳細については、「AWS Elastic Beanstalk デベロッパーガイド」の「Option Values」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeConfigurationSettings」を参照してください。

次のコード例では、describe-environment-health を使用する方法を示しています。

AWS CLI

環境ヘルスを表示するには

次のコマンドは、my-env という名前の全体的な環境ヘルス情報を取得します。

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

出力:

{ "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": [] }

ヘルス情報は、拡張ヘルスレポートが有効になっている環境でのみ使用できます。詳細については、「AWS Elastic Beanstalk デベロッパーガイド」の「拡張ヘルスレポートおよびモニタリング」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeEnvironmentHealth」を参照してください。

次のコード例では、describe-environment-resources を使用する方法を示しています。

AWS CLI

環境内の AWS リソースに関する情報を表示するには

次のコマンドは、my-env という名前の環境内のリソースに関する情報を取得します。

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

出力:

{ "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" } ] } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeEnvironmentResources」を参照してください。

次のコード例では、describe-environments を使用する方法を示しています。

AWS CLI

環境に関する情報を表示するには

次のコマンドは、my-env という名前の環境に関する情報を取得します。

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

出力:

{ "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" } ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeEnvironments」を参照してください。

次のコード例では、describe-events を使用する方法を示しています。

AWS CLI

環境のイベントを表示するには

次のコマンドは、my-env という名前の環境のイベントを取得します。

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

出力 (省略):

{ "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" } ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeEvents」を参照してください。

次のコード例では、describe-instances-health を使用する方法を示しています。

AWS CLI

環境ヘルスを表示するには

次のコマンドでは、my-env という名前の環境内のインスタンスのヘルス情報を取得できるようにします。

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

出力:

{ "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" }

ヘルス情報は、拡張ヘルスレポートが有効になっている環境でのみ使用できます。詳細については、「AWS Elastic Beanstalk デベロッパーガイド」の「拡張ヘルスレポートおよびモニタリング」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeInstancesHealth」を参照してください。

次のコード例では、list-available-solution-stacks を使用する方法を示しています。

AWS CLI

ソリューションスタックを表示するには

次のコマンドは、現在利用可能なすべてのプラットフォーム設定と、過去に使用したことがあるすべてのソリューションスタックを一覧表示します。

aws elasticbeanstalk list-available-solution-stacks

出力 (省略):

{ "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" }, ... ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListAvailableSolutionStacks」を参照してください。

次のコード例では、rebuild-environment を使用する方法を示しています。

AWS CLI

環境のを再構築するには

次のコマンドは、my-env という名前の環境でリソースを終了して再作成します。

aws elasticbeanstalk rebuild-environment --environment-name my-env
  • API の詳細については、「AWS CLI コマンドリファレンス」の「RebuildEnvironment」を参照してください。

次のコード例では、request-environment-info を使用する方法を示しています。

AWS CLI

追跡ログをリクエストするには

次のコマンドは、my-env という名前の環境からログをリクエストします。

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

ログをリクエストしたら、retrieve-environment-info を使用してその場所を取得します。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「RequestEnvironmentInfo」を参照してください。

次のコード例では、restart-app-server を使用する方法を示しています。

AWS CLI

アプリケーションサーバーを再起動するには

次のコマンドは、my-env という環境内のすべてのインスタンスでアプリケーションサーバーを再起動します。

aws elasticbeanstalk restart-app-server --environment-name my-env
  • API の詳細については、「AWS CLI コマンドリファレンス」の「RestartAppServer」を参照してください。

次のコード例では、retrieve-environment-info を使用する方法を示しています。

AWS CLI

追跡ログを取得するには

次のコマンドは、my-env という名前の環境からログへのリンクを取得します。

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

出力:

{ "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" } ] }

ブラウザでリンクを表示します。取得前に、request-environment-info を使用してログをリクエストする必要があります。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「RetrieveEnvironmentInfo」を参照してください。

次のコード例では、swap-environment-cnames を使用する方法を示しています。

AWS CLI

環境の CNAME を交換するには

次のコマンドは、2 つの環境に割り当てられたサブドメインをスワップします。

aws elasticbeanstalk swap-environment-cnames --source-environment-name my-env-blue --destination-environment-name my-env-green
  • API の詳細については、「AWS CLI コマンドリファレンス」の「SwapEnvironmentCnames」を参照してください。

次のコード例では、terminate-environment を使用する方法を示しています。

AWS CLI

環境を終了するには

次のコマンドは、my-env という名前の Elastic Beanstalk 環境を終了します。

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

出力:

{ "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" }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「TerminateEnvironment」を参照してください。

次のコード例では、update-application-version を使用する方法を示しています。

AWS CLI

アプリケーションバージョンの説明を変更するには

次のコマンドは、22a0-stage-150819_185942 という名前のアプリケーションバージョンの記述を更新します。

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

出力:

{ "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" } } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateApplicationVersion」を参照してください。

次のコード例では、update-application を使用する方法を示しています。

AWS CLI

アプリケーションの説明を変更するには

次のコマンドは、my-app という名前のアプリケーションの記述を更新します。

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

出力:

{ "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" } }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateApplication」を参照してください。

次のコード例では、update-configuration-template を使用する方法を示しています。

AWS CLI

設定テンプレートを更新するには

次のコマンドは、my-template という名前の保存済み設定テンプレートから、設定済みの CloudWatch カスタムヘルスメトリクス設定 ConfigDocument を削除します。

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

出力:

{ "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" }

名前空間とサポートされているオプションの詳細については、「AWS Elastic Beanstalk デベロッパーガイド」の「Option Values」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateConfigurationTemplate」を参照してください。

次のコード例では、update-environment を使用する方法を示しています。

AWS CLI

環境を新しいバージョンに更新するには

次のコマンドは、「my-env」という名前の環境を、それが属するアプリケーションのバージョン「v2」に更新します。

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

このコマンドでは、「my-env」環境が既に存在し、「v2」というラベルが付いた有効なアプリケーションバージョンを持つアプリケーションに属している必要があります。

出力:

{ "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" }

環境変数を設定するには

次のコマンドは、「my-env」環境の「PARAM1」変数の値を「ParamValue」に設定します。

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

option-settings パラメータは、変数の名前と値に加えて名前空間を取得します。Elastic Beanstalk は、環境変数に加えて、オプション用のいくつかの名前空間をサポートしています。

ファイルからオプション設定を設定するには

次のコマンドは、ファイルから aws:elb:loadbalancer 名前空間内のいくつかのオプションを設定します。

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

options.json は、いくつかの設定を定義する JSON オブジェクトです。

[ { "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" } ]

出力:

{ "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" }

名前空間とサポートされているオプションの詳細については、「AWS Elastic Beanstalk デベロッパーガイド」の「Option Values」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateEnvironment」を参照してください。

次のコード例では、validate-configuration-settings を使用する方法を示しています。

AWS CLI

設定を検証するには

次のコマンドは、CloudWatch カスタムメトリクス設定ドキュメントを検証します。

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

options.json は、検証する 1 つ以上の設定を含む JSON ドキュメントです。

[ { "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}" } ]

指定したオプションが指定された環境に対して有効な場合、Elastic Beanstalk は空の Messages 配列を返します。

{ "Messages": [] }

検証に失敗すると、レスポンスにはエラーに関する情報が含まれます。

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

名前空間とサポートされているオプションの詳細については、「AWS Elastic Beanstalk デベロッパーガイド」の「Option Values」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ValidateConfigurationSettings」を参照してください。