於環境建立期間設定組態選項 - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

於環境建立期間設定組態選項

使用 Elastic Beanstalk 主控台、EB CLI、AWS CLI、開發套件或 Elastic Beanstalk API 建立 AWS Elastic Beanstalk 環境時,您可提供組態選項的值來自訂您的環境和其中啟動的 AWS 資源。

以非一次性的組態變更而言,您可於本機、原始碼套件或 Amazon S3 存放組態檔案

這個主題包括於環境建立期間設定組態選項之所有方法的程序。

在 Elastic Beanstalk 主控台中

當您於 Elastic Beanstalk 主控台建立 Elastic Beanstalk 環境時,可透過組態檔案、已儲存組態和 Create New Environment (建立新的環境) 精靈內的表單,提供組態選項。

使用組態檔案 (.ebextensions)

.config 檔案放入應用程式原始碼套件內名為 .ebextensions 的資料夾。

如需組態檔案的詳細資訊,請參閱 .Ebextensions

~/workspace/my-app-v1.zip |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- index.php `-- styles.css

通常會在環境建立期間將原始碼套件上傳至 Elastic Beanstalk。

Elastic Beanstalk 主控台會針對部分組態選項套用建議值,其他選項則提供表單欄位。Elastic Beanstalk 主控台設定的選項,會直接套用至環境,並覆寫組態檔案中的設定。

使用已儲存組態

使用 Elastic Beanstalk 主控台建立新的環境時,第一個步驟就是選擇組態。組態可為預先定義的組態,通常是平台 (如 PHPTomcat) 的最新版本,也可以是已儲存組態

欲在環境建立期間套用已儲存組態 (Elastic Beanstalk 主控台)
  1. 開啟 Elastic Beanstalk 主控台,然後在 Regions (區域) 清單中選取您的 AWS 區域。

  2. 在導覽窗格中,選擇 Applications (應用程式),然後在清單上選取應用程式名稱。

    注意

    如果您有許多應用程式,請使用搜尋列來篩選應用程式清單。

  3. 在導覽窗格中,找到應用程式名稱並選擇 Saved configurations (已儲存的配置)

  4. 選取您要套用的已儲存組態,然後選擇 Launch environment (啟動環境)

  5. 繼續透過精靈來建立您的環境。

已儲存組態僅適用特定應用程式。如需建立已儲存組態的詳細資訊,請參閱 已儲存的組態

使用新的環境精靈

多數標準組態選項會顯示在建立新環境精靈Configure more options (設定更多選項) 頁面。若您為環境建立 Amazon RDS 資料庫或設定 VPC,其他組態選項也可用於這些資源。

在環境建立期間設定已儲存組態 (Elastic Beanstalk 主控台)
  1. 開啟 Elastic Beanstalk 主控台,然後在 Regions (區域) 清單中選取您的 AWS 區域。

  2. 在導覽窗格中,選擇 Applications (應用程式)

  3. 選擇或建立應用程式。

  4. 選擇 Actions (動作),然後選擇 Create environment (建立環境)

  5. 繼續執行精靈,選擇 Configure more options (設定多個選項)

  6. 選擇任何 configuration presets (組態預設),然後在一或多個組態類別選擇 Edit (編輯) 以變更一組相關的組態選項。

  7. 當您選定選項,請選擇 Create environment (建立環境)

新的環境精靈中所設定的任何選項,都會直接設定至環境,並覆寫您套用的已儲存組態或組態檔案 (.ebextensions) 內的選項設定。使用 EB CLIAWS CLI 建立環境後,您可以移除設定,允許已儲存組態或組態檔案內的設定浮現。

如需新環境精靈的詳細資訊,請參閱 建立新的環境精靈

使用 EB CLI

使用組態檔案 (.ebextensions)

於您專案資料夾的 .config 底下納入 .ebextensions,與應用程式程式碼一同部署。

如需組態檔案的詳細資訊,請參閱 .Ebextensions

~/workspace/my-app/ |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- .elasticbeanstalk | `-- config.yml |-- index.php `-- styles.css

透過 eb create 建立您的環境,並部署原始碼。

~/workspace/my-app$ eb create my-env

使用已儲存組態

欲在使用 eb create 建立環境時套用已儲存組態,請使用 --cfg 選項。

~/workspace/my-app$ eb create --cfg savedconfig

已儲存組態可存放於專案資料夾內,或者 Amazon S3 上的 Elastic Beanstalk 儲存位置。在前面範例中,EB CLI 首先會尋找資料夾 savedconfig.cfg.yml 內名為 .elasticbeanstalk/saved_configs/ 的已儲存組態檔案。使用 .cfg.yml 套用已儲存組態時,請不要納入檔案副檔名 (--cfg)。

~/workspace/my-app/ |-- .ebextensions | `-- healthcheckurl.config |-- .elasticbeanstalk | |-- saved_configs | | `-- savedconfig.cfg.yml | `-- config.yml |-- index.php `-- styles.css

若 EB CLI 於本機找不到該組態,則會尋找 Amazon S3 的 Elastic Beanstalk 儲存位置。如需建立、編輯和上傳已儲存組態的詳細資訊,請參閱已儲存的組態

使用命令列選項

EB CLI eb create 命令有數個選項,您可用其在環境建立期間設定組態選項。您可以使用這些選項來將 RDS 資料庫新增至您的環境、設定 VPC,或覆寫建議值

例如,EB CLI 預設使用 t2.micro 執行個體類型。欲選擇不同的執行個體類型,請使用 --instance_type 選項。

$ eb create my-env --instance_type t2.medium

欲建立 Amazon RDS 資料庫執行個體並將其連接至您的環境,請使用 --database 選項。

$ eb create --database.engine postgres --database.username dbuser

若您省略建立環境所需的環境名稱、資料庫密碼或其他參數,EB CLI 會提示您將其輸入。

如需可用選項完整清單及使用範例,請參閱 eb create

使用 AWS CLI

當您透過 AWS CLI 使用 create-environment 命令來建立 Elastic Beanstalk 環境時,AWS CLI 不會套用任何建議值。您指定原始碼套件,其中的組態檔案會定義所有組態選項。

使用組態檔案 (.ebextensions)

若要將組態檔案套用至您透過 AWS CLI 建立的環境,請將其納入您上傳至 Amazon S3 的應用程式原始碼套件。

如需組態檔案的詳細資訊,請參閱 .Ebextensions

~/workspace/my-app-v1.zip |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- index.php `-- styles.css
使用 上傳應用程式原始碼套件並建立環境AWS CLI
  1. 若您的 Amazon S3 內還沒有 Elastic Beanstalk 儲存貯體,請使用 create-storage-location 建立。

    $ aws elasticbeanstalk create-storage-location { "S3Bucket": "elasticbeanstalk-us-west-2-123456789012" }
  2. 將您的應用程式原始碼套件上傳至 Amazon S3。

    $ aws s3 cp sourcebundle.zip s3://elasticbeanstalk-us-west-2-123456789012/my-app/sourcebundle.zip
  3. 建立應用程式版本。

    $ aws elasticbeanstalk create-application-version --application-name my-app --version-label v1 --description MyAppv1 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-123456789012",S3Key="my-app/sourcebundle.zip" --auto-create-application
  4. 建立環境。

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

使用已儲存組態

若要在建立期間將已儲存組態套用至環境,請使用 --template-name 參數。

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --template-name savedconfig --version-label v1

指定已儲存組態時,請勿同時指定解決方案堆疊名稱。已儲存組態已指定解決方案堆疊,若您嘗試同時使用這些選項,Elastic Beanstalk 將回傳錯誤。

使用命令列選項

使用 --option-settings 參數以 JSON 格式指定組態選項。

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings '[ { "Namespace": "aws:elasticbeanstalk:application", "OptionName": "Application Healthcheck URL", "Value": "/health" } ]

若要自檔案載入 JSON,請使用 file:// 字首。

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings file://healthcheckurl.json

Elastic Beanstalk 會將您使用 --option-settings 選項指定的選項設定,直接套用至環境。若已儲存組態或組態檔案已指定相同選項,--option-settings 會覆寫這些值。