文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的 Elastic Beanstalk 範例 AWS CLI
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 Elastic Beanstalk 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 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-labelv1
--descriptionMyAppv1
--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
也有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
-
建立組態範本
下列命令
my-app-v1
會從套用至 ID 為 的環境的設定建立名為 的組態範本e-rpqsewtp2j
:aws elasticbeanstalk create-configuration-template --application-name
my-app
--template-namemy-app-v1
--environment-ide-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-namemy-env
--cname-prefixmy-app
--version-labelv1
--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-namesampleapp
--option-settingsfile://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
-
刪除應用程式版本
下列命令會刪除名為 的應用程式版本,該應用程式版本
22a0-stage-150819_182129
名為my-app
:aws elasticbeanstalk delete-application-version --version-label
22a0-stage-150819_182129
--application-namemy-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-template
之應用程式的組態範本my-app
:aws elasticbeanstalk delete-configuration-template --template-name
my-template
--application-namemy-app
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteConfigurationTemplate
。
-
下列程式碼範例示範如何使用 delete-environment-configuration
。
- AWS CLI
-
刪除草稿組態
下列命令會刪除名為 之環境的草稿組態
my-env
:aws elasticbeanstalk delete-environment-configuration --environment-name
my-env
--application-namemy-app
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteEnvironmentConfiguration
。
-
下列程式碼範例示範如何使用 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-namemy-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 開發人員指南中的選項值。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeConfigurationOptions
。
-
下列程式碼範例示範如何使用 describe-configuration-settings
。
- AWS CLI
-
檢視環境的組態設定
下列命令會擷取名為 之環境的組態設定
my-env
:aws elasticbeanstalk describe-configuration-settings --environment-name
my-env
--application-namemy-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 開發人員指南中的選項值。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeConfigurationSettings
。
-
下列程式碼範例示範如何使用 describe-environment-health
。
- AWS CLI
-
檢視環境運作狀態
下列命令會擷取名為 之環境的整體運作狀態資訊
my-env
:aws elasticbeanstalk describe-environment-health --environment-name
my-env
--attribute-namesAll
輸出:
{ "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-namesAll
輸出:
{ "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-typetail
請求日誌之後,請使用 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-typetail
輸出:
{ "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
-
交換環境 CNAMES
下列命令會交換兩個環境的指派子網域:
aws elasticbeanstalk swap-environment-cnames --source-environment-name
my-env-blue
--destination-environment-namemy-env-green
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SwapEnvironmentCnames
。
-
下列程式碼範例示範如何使用 terminate-environment
。
- AWS CLI
-
終止環境
下列命令會終止名為 的 Elastic Beanstalk 環境
my-env
: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-namemy-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
-
更新組態範本
下列命令
ConfigDocument
會從名為 的已儲存組態範本中移除設定的 CloudWatch 自訂運作狀態指標組態my-template
:aws elasticbeanstalk update-configuration-template --template-name
my-template
--application-namemy-app
--options-to-removeNamespace=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 開發人員指南中的選項值。
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 UpdateConfigurationTemplate
。
-
下列程式碼範例示範如何使用 update-environment
。
- AWS CLI
-
將環境更新為新版本
下列命令會將名為 "my-env" 的環境更新為其所屬應用程式版本 "v2":
aws elasticbeanstalk update-environment --environment-name
my-env
--version-labelv2
此命令要求「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-settingsNamespace=aws:elasticbeanstalk:application:environment,OptionName=PARAM1,Value=ParamValue
除了變數的名稱和值之外,
option-settings
參數還會採用命名空間。除了環境變數之外,Elastic Beanstalk 還支援多個 選項的命名空間。從檔案設定選項設定
下列命令會從 檔案設定
aws:elb:loadbalancer
命名空間中的數個選項:aws elasticbeanstalk update-environment --environment-name
my-env
--option-settingsfile://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 開發人員指南中的選項值。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateEnvironment
。
-
下列程式碼範例示範如何使用 validate-configuration-settings
。
- AWS CLI
-
驗證組態設定
下列命令會驗證 CloudWatch 自訂指標組態文件:
aws elasticbeanstalk validate-configuration-settings --application-name
my-app
--environment-namemy-env
--option-settingsfile://options.json
options.json
是 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": [ { "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 開發人員指南中的選項值。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ValidateConfigurationSettings
。
-