本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Elastic Beanstalk 已儲存組態
您可將環境的組態儲存為 Amazon Simple Storage Service (Amazon S3) 的物件,並於環境建立期間套用至其他環境,或套用至執行環境。「已儲存組態」為 YAML 格式的範本,定義了環境的平台版本、環境層、組態選項設定和標籤。
您可以在建立時將標籤套用至已儲存的組態,並編輯現有已儲存的組態的標籤。套用到已儲存的組態的標籤,與使用 Tags:
索引鍵的已儲存的組態中指定的標籤無關。後者會在您將已儲存的組態套用至環境時,套用到環境。如需詳細資訊,請參閱標記已儲存組態。
注意
您可以使用多種方法建立和套用已儲存組態至 Elastic Beanstalk 環境。其中包括 Elastic Beanstalk 主控台、EB CLI,以及 AWS CLI。
有關建立和套用已儲存組態的替代方法,請參閱下列主題:
於 Elastic Beanstalk 管理主控台中,自您環境的目前狀態建立已儲存組態。
欲儲存環境的組態
開啟 Elastic Beanstalk 主控台
,然後在 Regions (區域) 清單中選取您的 AWS 區域。 -
在導覽窗格中,選擇 Environments (環境),然後在清單中選擇您環境的名稱。
注意
如果您有許多環境,請使用搜尋列來篩選環境清單。
-
選擇 Actions (動作),然後選擇 Save Configuration (儲存組態)。
-
使用畫面顯示表單來命名儲存的組態。您可選擇性地提供簡短描述,並新增標籤索引鍵和值。
-
選擇 Save (儲存)。
您透過主控台或其他運用 Elastic Beanstalk API 的用戶端套用至環境的任何設定,均會納入已儲存組態。接著,您可在日後將已儲存組態套用至您的環境以還原至先前狀態,或於環境建立期間將其套用至新環境。
您可透過 EB CLI eb config 命令下載組態,如下列範例所示。NAME
是已儲存的組態名稱。
eb config get
NAME
欲在環境建立期間套用已儲存組態 (Elastic Beanstalk 主控台)
開啟 Elastic Beanstalk 主控台
,然後在 Regions (區域) 清單中選取您的 AWS 區域。 -
在導覽窗格中,選擇 Applications (應用程式),然後在清單上選取應用程式名稱。
注意
如果您有許多應用程式,請使用搜尋列來篩選應用程式清單。
在導覽窗格中,找到應用程式名稱並選擇 Saved configurations (已儲存的配置)。
-
選取您要套用的已儲存組態,然後選擇 Launch environment (啟動環境)。
-
繼續透過精靈來建立您的環境。
已儲存組態不包含您應用程式原始碼的組態檔案所套用的設定。若組態檔案和已儲存組態均套用相同設定,會優先採用已儲存組態中的設定。同樣的,Elastic Beanstalk 主控台中指定的選項會覆寫已儲存組態中的選項。如需更多詳細資訊,請參閱 優先順序。
已儲存組態會存放在 Elastic Beanstalk S3 儲存貯體內以您的應用程式命名之資料夾。例如,us-west-2 區域中對於 123456789012 帳戶一個名為 my-app
應用程式的組態位於 s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app/
。
於文字編輯器開啟已儲存組態,以檢視其內容。下列範例組態呈現 Elastic Beanstalk 管理主控台啟動之 Web 伺服器環境的組態。
EnvironmentConfigurationMetadata:
Description: Saved configuration from a multicontainer Docker environment created with the Elastic Beanstalk Management Console
DateCreated: '1520633151000'
DateModified: '1520633151000'
Platform:
PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Java 8 running on 64bit Amazon Linux/2.5.0
OptionSettings:
aws:elasticbeanstalk:command:
BatchSize: '30'
BatchSizeType: Percentage
aws:elasticbeanstalk:sns:topics:
Notification Endpoint: me@example.com
aws:elb:policies:
ConnectionDrainingEnabled: true
ConnectionDrainingTimeout: '20'
aws:elb:loadbalancer:
CrossZone: true
aws:elasticbeanstalk:environment:
ServiceRole: aws-elasticbeanstalk-service-role
aws:elasticbeanstalk:application:
Application Healthcheck URL: /
aws:elasticbeanstalk:healthreporting:system:
SystemType: enhanced
aws:autoscaling:launchconfiguration:
IamInstanceProfile: aws-elasticbeanstalk-ec2-role
InstanceType: t2.micro
EC2KeyName: workstation-uswest2
aws:autoscaling:updatepolicy:rollingupdate:
RollingUpdateType: Health
RollingUpdateEnabled: true
EnvironmentTier:
Type: Standard
Name: WebServer
AWSConfigurationTemplateVersion: 1.1.0.0
Tags:
Cost Center: WebApp Dev
您可以修改已儲存組態的內容,並將其儲存於 Amazon S3 內的相同位置。任何已儲存組態只要格式正確且存放於適當位置,均可透過 Elastic Beanstalk 管理主控台套用至環境。
支援下列按鍵。
-
AWSConfigurationTemplateVersion (必要) – 組態範本版本 (1.1.0.0)。
AWSConfigurationTemplateVersion: 1.1.0.0
-
平台 – 環境平台版本的 Amazon Resource Name (ARN)。您可依照 ARN 或解決方案堆疊名稱指定平台。
Platform: PlatformArn:
arn:aws:elasticbeanstalk:us-east-2::platform/Java 8 running on 64bit Amazon Linux/2.5.0
-
SolutionStack – 用於建立環境的解決方案堆疊全名。
SolutionStack:
64bit Amazon Linux 2017.03 v2.5.0 running Java 8
-
OptionSettings – 欲套用至環境的組態選項設定。例如,下列項目將執行個體類型設定為 t2.micro。
OptionSettings: aws:autoscaling:launchconfiguration: InstanceType: t2.micro
-
標籤 – 最多 47 個標籤可套用至環境內建立的資源。
Tags: Cost Center: WebApp Dev
-
EnvironmentTier – 欲建立的環境類型。以 Web 伺服器環境而言,此區段可以排除 (Web 伺服器為預設值)。以工作者環境而言,請使用下列。
EnvironmentTier: Name: Worker Type: SQS/HTTP
注意
您可以使用多種方法建立和套用已儲存組態至 Elastic Beanstalk 環境。其中包括 Elastic Beanstalk 主控台、EB CLI,以及 AWS CLI。
有關建立和套用已儲存組態的替代方法,請參閱下列主題: