使用 Elastic Beanstalk 已儲存組態 - AWS Elastic Beanstalk

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

使用 Elastic Beanstalk 已儲存組態

您可將環境的組態儲存為 Amazon Simple Storage Service (Amazon S3) 的物件,並於環境建立期間套用至其他環境,或套用至執行環境。「已儲存組態」為 YAML 格式的範本,定義了環境的平台版本環境層組態選項設定和標籤。

您可以在建立時將標籤套用至已儲存的組態,並編輯現有已儲存的組態的標籤。套用到已儲存的組態的標籤,與使用 Tags: 索引鍵的已儲存的組態中指定的標籤無關。後者會在您將已儲存的組態套用至環境時,套用到環境。如需詳細資訊,請參閱標記已儲存組態

注意

您可以使用多種方法建立和套用已儲存組態至 Elastic Beanstalk 環境。其中包括 Elastic Beanstalk 主控台、EB CLI,以及 AWS CLI。

有關建立和套用已儲存組態的替代方法,請參閱下列主題:

於 Elastic Beanstalk 管理主控台中,自您環境的目前狀態建立已儲存組態。

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

  2. 在導覽窗格中,選擇 Environments (環境),然後在清單中選擇您環境的名稱。

    注意

    如果您有許多環境,請使用搜尋列來篩選環境清單。

  3. 選擇 Actions (動作),然後選擇 Save Configuration (儲存組態)。

  4. 使用畫面顯示表單來命名儲存的組態。您可選擇性地提供簡短描述,並新增標籤索引鍵和值。

  5. 選擇 Save (儲存)。

    Elastic Beanstalk 主控台上的儲存組態頁面

您透過主控台或其他運用 Elastic Beanstalk API 的用戶端套用至環境的任何設定,均會納入已儲存組態。接著,您可在日後將已儲存組態套用至您的環境以還原至先前狀態,或於環境建立期間將其套用至新環境。

您可透過 EB CLI eb config 命令下載組態,如下列範例所示。NAME 是已儲存的組態名稱。

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

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

    注意

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

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

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

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

已儲存組態不包含您應用程式原始碼的組態檔案所套用的設定。若組態檔案和已儲存組態均套用相同設定,會優先採用已儲存組態中的設定。同樣的,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。

有關建立和套用已儲存組態的替代方法,請參閱下列主題: