使用 Elastic Beanstalk 保存的配置 - AWS Elastic Beanstalk
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 Elastic Beanstalk 保存的配置

您可将环境的配置作为对象保存在 Amazon Simple Storage Service (Amazon S3) 中,以便在创建环境时应用于其他环境,或应用于正在运行的环境。保存的配置 是 YAML 格式的模板,用于定义环境的平台版本配置选项设置和标记。

您可以在创建保存的配置和编辑现有保存的配置的标签时向其应用标签。有关详细信息,请参阅 标记保存的配置

注意

应用到保存的配置的标签与使用 Tags: 键在保存的配置中指定的标签无关。当您将保存的配置应用到环境时,后者将应用到环境。

在 Elastic Beanstalk 管理控制台中,从环境的当前状态创建保存的配置。

保存环境的配置

  1. 打开 Elastic Beanstalk 控制台,然后在 Regions (区域) 列表中选择您的 AWS 区域。

  2. 在导航窗格中,选择 Environments (环境),然后从列表中选择环境的名称。

    注意

    如果您有多个环境,请使用搜索栏筛选环境列表。

  3. 选择 Environment actions (环境操作),然后选择 Save configuration (保存配置)

  4. 使用屏幕上的表单命名已保存的配置。(可选)提供简要说明,并添加标签键和值。

  5. 选择 Save

  6. 选择 Save

    
          Elastic Beanstalk 控制台上的“Save Configuration (保存配置)”页面

保存的配置包括已应用于具有控制台的环境或任何其他使用 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 存储桶中按照应用程序命名的文件夹中。例如,对于账号 123456789012,us-west-2 区域中名为 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
  • Platform – 环境的平台版本的 Amazon 资源名称 (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
  • Tags - 多达 47 个标签,应用于在环境中创建的资源。

    Tags: Cost Center: WebApp Dev
  • EnvironmentTier - 要创建的环境的类型。对于 Web 服务器环境,您可不包含此部分 (Web 服务器为默认值)。对于工作线程环境,请使用以下设置。

    EnvironmentTier: Name: Worker Type: SQS/HTTP

有关创建和应用保存的配置的替代方法,请参阅下列主题: