本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Elastic Beanstalk 保存的配置
您可将环境的配置作为对象保存在 Amazon Simple Storage Service (Amazon S3) 中,以便在创建环境时应用于其他环境,或应用于正在运行的环境。保存的配置 是 YAML 格式的模板,用于定义环境的平台版本、层、配置选项设置和标记。
您可以在创建保存的配置和编辑现有保存的配置的标签时向其应用标签。应用到保存的配置的标签与使用 Tags:
键在保存的配置中指定的标签无关。当您将保存的配置应用到环境时,后者将应用到环境。有关详细信息,请参阅标记保存的配置。
注意
您可以使用多种方法创建保存的配置并将其应用于您的 Elastic Beanstalk 环境。其中包括 Elastic Beanstalk 控制台、EB CLI 和 Amazon CLI。
有关创建和应用保存的配置的替代方法示例,请参阅下列主题:
在 Elastic Beanstalk 管理控制台中,从环境的当前状态创建保存的配置。
保存环境的配置
打开 Elastic Beanstalk 控制台
,然后在 Regions(区域)列表中选择您的 Amazon Web Services 区域。 -
在导航窗格中,选择 Environments(环境),然后从列表中选择环境的名称。
注意
如果您有多个环境,请使用搜索栏筛选环境列表。
-
选择 Actions(操作),然后选择 Save configuration(保存配置)。
-
使用屏幕上的表单命名已保存的配置。(可选)提供简要说明,并添加标签键和值。
-
选择保存。
保存的配置包括已应用于具有控制台的环境或任何其他使用 Elastic Beanstalk API 的客户端的任何设置。您可以稍后将保存的配置应用于您的环境以将它还原为上一个状态,也可以在创建环境期间将保存的配置应用于新环境。
您可以使用 EB CLI eb config 命令下载配置,如以下示例所示。NAME
是保存的配置的名称。
eb config get
NAME
在创建环境期间应用保存的配置(Elastic Beanstalk 控制台)
打开 Elastic Beanstalk 控制台
,然后在 Regions(区域)列表中选择您的 Amazon Web Services 区域。 -
在导航窗格中,选择 Applications(应用程序),然后从列表中选择应用程序的名称。
注意
如果您有多个应用程序,请使用搜索栏筛选应用程序列表。
在导航窗格中,找到应用程序的名称,然后选择 Saved configurations(已保存的配置)。
-
选择要应用的已保存的配置,然后选择 Launch environment(启动环境)。
-
继续执行向导以创建环境。
保存的配置不包括已与应用程序源代码中的配置文件一起应用的设置。如果在配置文件和保存的配置中应用相同的设置,则保存的配置中的设置优先。同样,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
注意
您可以使用多种方法创建保存的配置并将其应用于您的 Elastic Beanstalk 环境。其中包括 Elastic Beanstalk 控制台、EB CLI 和 Amazon CLI。
有关创建和应用保存的配置的替代方法示例,请参阅下列主题: