为 Auto Scaling 组创建启动模板 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 Auto Scaling 组创建启动模板

在可以使用启动模板创建 Auto Scaling 组之前,您必须创建启动模板,其中包括启动 EC2 实例所需的参数,例如 Amazon 系统映像 (AMI) 的 ID 和实例类型。

启动模板提供了 Amazon EC2 Auto Scaling 的全部功能以及 Amazon EC2 的更新功能,例如当前一代 EBS 预配置 IOPS 卷 (io2)、EBS 卷标记、T2 无限实例、弹性推断和专用主机。

以下过程用于创建新的启动模板。创建启动模板之后,您可以按照使用启动模板创建 Auto Scaling 组.

创建启动模板(控制台)

按照以下步骤为以下内容配置启动模板:

  • 指定从中启动实例的 Amazon 系统映像 (AMI)。

  • 选择与您指定的 AMI 兼容的实例类型。

  • 指定连接到实例时要使用的 key pair,例如使用 SSH。

  • 添加一个或多个安全组,以允许从外部网络对实例的相关访问。

  • 指定是将附加 EBS 卷还是实例存储卷附加到每个实例。

  • 添加自定义标签(键值对)到实例和卷。

创建启动模板

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 INSTANCES (实例) 下,选择 Launch Templates (启动模板)

  3. 选择创建启动模板。为启动模板的初始版本输入名称并提供描述。

  4. INDERAuto Scaling 指南,请选中复选框让 Amazon EC2 提供指导,以帮助创建要与 Amazon EC2 Auto Scaling 结合使用的模板。

  5. Launch template contents (启动模板内容) 下,填写每个必填字段以及用作实例启动规范的所有可选字段。

    1. Amazon 系统映像 (AMI):选择从中启动实例的 AMI 的 ID。您可以搜索所有可用的 AMI,也可以从 Quick Start (快速启动) 列表中选择列表中常用的 AMI 之一。如果您没有看到所需的 AMI,则可以查找合适的 AMI,记下其 ID 并将其指定为自定义值。

    2. 实例类型:选择实例类型.

    3. (可选)密钥对(登录):指定一个密钥对.

  6. (可选)在Network settings (网络设置)中,执行以下操作:

    1. 网络平台:如果适用,请选择是将实例启动到 VPC 还是 EC2-Classic。不过,Amazon EC2 Auto Scaling 将忽略启动模板的网络类型和可用区设置以支持 Auto Scaling 组的设置。

    2. 安全组:选择一个或多个安全组或留空以将一个或多个安全组配置为网络接口的一部分。对于 Auto Scaling 组会将实例启动到其中的 VPC,必须为其配置各个安全组。如果要使用 EC2-Classic,则必须使用为 EC2-Classic 专门创建的安全组。

      如果您未在启动模板中指定任何安全组,则 Amazon EC2 会使用默认安全组. 默认情况下,此安全组不允许来自外部网络的入站流量。

  7. (可选)存储(卷)中,除了 AMI 指定的卷以外,还可以指定要附加到实例的卷 (卷 1(AMI 根目录))。要添加新卷,请选择 Add new volume (添加新卷)

    1. 卷类型:卷类型取决于您选择的实例类型。每个实例类型都有一个关联根设备卷,它是 Amazon EBS 卷或实例存储卷。有关更多信息,请参阅 。Amazon EC2 实例存储Amazon EBS 卷中的适用于 Linux 实例的 Amazon EC2 用户指南.

    2. 设备名称:指定卷的设备名称。

    3. 快照:输入从中创建卷的快照的 ID。

    4. 大小 (GiB):对于 Amazon EBS 卷,请指定存储大小。如果您要从快照中创建卷,但未指定卷大小,则默认值为快照大小。

    5. 卷类型:对于 Amazon EBS 卷,选择卷类型.

    6. IOPS:对于预配置的 IOPS SSD 卷,输入该卷应该支持的每秒输入/输出操作 (IOPS) 的最大数量。

    7. 终止时删除:对于 Amazon EBS 卷,选择在终止关联实例时是否删除卷。

    8. Encrypted:选择可更改 Amazon EBS 卷的加密状态。设置此参数的默认效果会随所选卷源而异,如下表所述。在所有情况下,您都必须拥有使用指定 CMK 的权限。有关指定加密卷的更多信息,请参阅Amazon EBS 加密中的适用于 Linux 实例的 Amazon EC2 用户指南.

      加密结果
      如果 Encrypted 参数设置为... 如果卷源... 则默认加密状态为... 备注
      新(空)卷 未加密* 不适用
      您拥有的未加密快照 未加密*
      您拥有的加密快照 按相同密钥加密
      与您共享的未加密快照 未加密*
      与您共享的加密快照 按默认 CMK 加密
      新卷 按默认 CMK 加密 要使用非默认 CMK,请为密钥参数指定一个值。
      您拥有的未加密快照 按默认 CMK 加密
      您拥有的加密快照 按相同密钥加密
      与您共享的未加密快照 按默认 CMK 加密
      与您共享的加密快照 按默认 CMK 加密

      * 如果启用了默认加密,则所有新创建的卷(不论是否将加密参数设置为)将使用默认 CMK 加密。同时设置加密密钥参数可指定非默认 CMK。

    9. 密钥:如果您选择了在上一步中,选择性地输入在对卷加密时要使用的客户主密钥 (CMK)。输入您以前使用 Amazon Key Management Service 创建的任何 CMK。您可以粘贴您可以访问的任何密钥的完整 ARN。有关更多信息,请参阅 。Amazon Key Management Service开发人员指南与加密卷结合使用时必需的 CMK 密钥策略主题。注意:Amazon EBS 不支持非对称 CMK。

      注意

      提供 CMK 但未同时设置加密参数会导致错误。

  8. 对于实例标签,请提供键和值组合以指定标签。您可以标记实例、卷或两者。

  9. 要更改默认网络接口,请参阅更改默认网络接口. 如果要保留默认网络接口(主要网络接口),则跳过此步骤。

  10. 要配置高级设置,请参阅为启动模板配置高级设置。否则,请选择创建启动模板.

  11. 要创建 Auto Scaling 组,请选择创建 Auto Scaling 组从确认页面。

更改默认网络接口

本节介绍如何更改默认网络接口。例如,这允许您定义是否要为每个实例分配公有 IP 地址,而不是默认为子网上的自动分配公有 IP 设置。

注意事项和限制

指定网络接口时,请记住以下注意事项和限制:

  • 您必须将安全组配置为网络接口的一部分,而不是在安全组部分。您不能在这两处指定安全组。

  • 您不能将特定私有 IP 地址分配给 Auto Scaling 实例。当实例启动时,会在从其中启动实例的子网的 CIDR 范围中分配私有地址。有关为您的 VPC 或子网指定 CIDR 范围的更多信息,请参阅Amazon VPC User Guide.

  • 如果您指定了现有网络接口 ID,则只能启动一个实例。为了使其生效,您必须使用Amazon CLI或 SDK 创建 Auto Scaling 组的步骤。创建组时,必须指定可用区,但不指定子网 ID。此外,您只能在现有网络接口的设备索引为 0 时指定现有网络接口。

  • 如果您指定多个网络接口,则不能自动分配公有 IP 地址。也无法跨网络接口指定重复的设备索引。请注意,主网络接口和辅助网络接口都将位于同一子网中。

更改默认网络接口

  1. INDER网络接口中,选择添加网络接口.

  2. 指定主网络接口,请注意以下字段:

    1. 设备索引:指定设备索引。Enter0用于主网络接口 (eth0)。

    2. 网络接口:留空以在启动实例时创建新的网络接口,或者输入现有网络接口的 ID。如果您指定了 ID,则这会将 Auto Scaling 组限制为一个实例。

    3. 描述:输入一个描述性名称。

    4. 子网:虽然您可以选择指定一个子网,但 Amazon EC2 Auto Scaling 将忽略该子网以支持 Auto Scaling 组的设置。

    5. Auto Scaling 公共 IP:选择是否自动分配公有 IP 地址设备索引为 0 的网络接口。此设置优先于为子网配置的设置。如果未设置值,则默认设置为使用启动实例的子网的自动分配公有 IP 设置。

    6. 安全组:选择一个或多个安全组. 对于 Auto Scaling 组会将实例启动到其中的 VPC,必须为其配置各个安全组。

    7. 终止时删除:选择在 Auto Scaling 组缩减并终止网络接口附加到的实例时是否删除网络接口。

    8. Elastic Fabric Adapter:指示网络接口是否为弹性结构适配器。有关更多信息,请参阅 。Elastic Fabric Adapter中的适用于 Linux 实例的 Amazon EC2 用户指南.

    9. 网卡索引:使用支持多个网卡的实例类型时,将网络接口连接到特定的网卡。必须将主网络接口 (eth0) 分配给网卡索引 0。如果未指定,则默认为 0。有关更多信息,请参阅 。网卡中的适用于 Linux 实例的 Amazon EC2 用户指南.

  3. 要添加辅助网络接口,请选择添加网络接口.

为启动模板配置高级设置

您可以定义 Auto Scaling 实例所需的任何其他功能。例如,您可以选择一个 IAM 角色,以供应用程序在访问其他Amazon资源或者指定实例用户数据在启动实例之后用于执行常见的自动配置任务。

以下步骤讨论了需要注意的最有用的设置。有关任何设置的更多信息,请参阅高级详细信息,请参阅创建启动模板中的适用于 Linux 实例的 Amazon EC2 用户指南.

配置高级设置

  1. 适用于高级详细信息下,展开部分以查看各个字段。

  2. 适用于Purchasing Option,您可以选择请求 Spot 实例以按需价格为上限的 Spot 价格请求 Spot 实例,以按价格为上限;而选择自定义以更改默认竞价型实例设置。对于 Auto Scaling 组,您必须指定不带结束日期的一次性请求(默认设置)。有关更多信息,请参阅 为容错和灵活的应用程序请求竞价型实例

    注意

    如果您离开Purchasing Option未指定,您可以稍后在 Auto Scaling 组中请求 Spot 实例。这还为您提供了指定多个实例类型的选项。这样,如果 Amazon EC2 竞价服务需要回收您的竞价型实例,我们可以从另一个竞价池启动替换实例。有关更多信息,请参阅 Auto Scaling 组包括多种实例类型和购买选项

  3. 适用于IAM 实例配置文件,您可以指定Amazon Identity and Access Management(IAM) 实例配置文件以与实例关联。当您选择实例配置文件时,会将对应的 IAM 角色与 EC2 实例关联。有关更多信息,请参阅 Amazon EC2 实例上运行的应用程序的 IAM 角色

  4. 适用于终止保护中,选择是否防止实例意外终止。当您启用终止保护时,它会提供额外的终止保护,但不会保护 Amazon EC2 Auto Scaling 启动的终止。要控制 Auto Scaling 组是否可以终止特定实例,请使用使用实例缩减保护.

  5. 适用于详细云监控监控中,选择是否允许实例以 1 分钟间隔向 Amazon CloudWatch 发布指标数据。将收取额外费用。有关更多信息,请参阅 为 Auto Scaling 实例配置监控

  6. 适用于T2/T3 无限中,选择是否允许应用程序突增到基准以上所需的时间。此字段仅适用于 T2、T3 和 T3a 实例。可能收取额外费用。有关更多信息,请参阅 。使用 Auto Scaling 组以 “无限” 模式启动可突增性能实例中的适用于 Linux 实例的 Amazon EC2 用户指南.

  7. 适用于置放群组名称,您可以指定在其中启动实例的置放群组。并非可以在置放群组中启动所有实例类型。如果您使用一个指定其他置放群组的 CLI 命令配置 Auto Scaling 组,将忽略该设置以支持为 Auto Scaling 组指定的设置。

  8. 适用于Capacity Reservation,您可以指定是在共享容量中启动实例到共享容量中、任何open容量预留、特定容量预留组或容量预留组。有关更多信息,请参阅 。在现有容量预留中启动实例中的适用于 Linux 实例的 Amazon EC2 用户指南.

  9. 适用于租期,您可以选择在共享硬件上运行您的实例(共享), 在专用硬件上 (专用),或者在专用主机上使用主机资源组时(专用主机)。可能收取额外费用。

    如果您选择了专用主机,填写以下信息:

    1. 适用于租赁主机资源组,您可以为 BYOL AMI 指定要在专用主机上使用的主机资源组。在使用此功能之前,您不必先在您的账户中分配专用主机。无论何种情况,您的实例都会在专用主机上自动启动。请注意,基于许可证配置关联的 AMI 一次只能映射到一个主机资源组。有关更多信息,请参阅 。主机资源组中的Amazon License Manager用户指南.

  10. 适用于License 配置下,指定要使用的许可证配置。您可以根据指定的许可证配置启动实例,以跟踪您的许可证使用情况。有关更多信息,请参阅 。创建许可证配置中的License Manager 用户指南.

  11. 要为与此版本的启动模板关联的所有实例配置实例元数据选项,请执行以下操作:

    1. 适用于可访问元数据中,选择是启用还是禁用对实例元数据服务的 HTTP 终端节点的访问。默认情况下,将启用 HTTP 终端节点。如果您选择禁用终端节点,则会关闭对实例元数据的访问。只有在启用 HTTP 终端节点时,才可以指定要求 IMDSv2 的条件。

    2. 适用于元数据版本,您可以选择在请求实例元数据时要求使用实例元数据服务版本 2 (IMDSv2)。如果您未指定值,则默认情况下会同时支持 IMDSv1 和 IMDSv2。

    3. 适用于元数据令牌响应跃点限制,您可以为元数据标记设置允许的网络跃点数。如果未指定值,默认值为 1。

    有关更多信息,请参阅 。配置实例元数据服务中的适用于 Linux 实例的 Amazon EC2 用户指南.

  12. 适用于用户数据,您可以指定用户数据在启动时配置实例或在实例启动之后运行配置脚本。

  13. 选择创建启动模板

  14. 要创建 Auto Scaling 组,请选择创建 Auto Scaling 组从确认页面。

从现有实例创建启动模板(控制台)

通过现有实例创建启动模板

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 INSTANCES (实例) 下,选择 Instances (实例)

  3. 选择实例,然后选择操作映像和模板从实例创建模板.

  4. 提供名称和说明。

  5. INDERAuto Scaling 指南下,选中相应的复选框。

  6. 根据需要调整任何设置,然后选择创建启动模板.

  7. 要创建 Auto Scaling 组,请选择创建 Auto Scaling 组从确认页面。

创建启动模板 (Amazon CLI)

使用命令行创建启动模板

您可以使用以下任一命令:

Limitations

  • 您可以使用启动模板配置网络类型(VPC 或 EC2-Classic)、子网和可用区。但是,将忽略这些设置,以支持在 Auto Scaling 组中指定的内容。

  • 由于启动模板中的子网设置被忽略,而不是在 Auto Scaling 组中指定的内容,因此为给定实例创建的所有网络接口都将连接到与实例相同的子网。有关用户定义网络接口的其他限制,请参阅更改默认网络接口.

  • 您可以使用启动模板在 Auto Scaling 组中配置其他设置,以启动多个实例类型并结合按需和 Spot 购买选项,如Auto Scaling 组包括多种实例类型和购买选项. 不支持启动具有以下组合的实例:

    • 如果在启动模板中指定 Spot 实例请求

    • 在 EC2-Classic 中

  • 只有在指定主机资源组时,才可支持专用主机(主机租赁)。您不能以特定主机 ID 为目标,也不能使用主机放置关联。