为 Auto Scaling 组创建启动模板 - Amazon EC2 Auto Scaling

为 Auto Scaling 组创建启动模板

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

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

以下过程用于创建新的启动模板。在创建启动模板之前,您可以按照 使用启动模板创建 Auto Scaling 组 中的说明创建 Auto Scaling 组。

注意

有关创建启动模板的附加信息,请参阅:

创建您的启动模板(控制台)

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

  • 指定要在其上启动实例的 Amazon machine image (AMI)。

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

  • 指定连接到实例时要使用的密钥对,例如使用 SSH。

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

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

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

创建启动模板

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

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

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

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

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

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

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

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

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

    1. Networking platform (联网平台):如果适用,请选择是将实例启动到 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 卷或实例存储卷。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 Amazon EC2 实例存储Amazon EBS 卷

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

    3. 快照:输入用于创建卷的快照的 ID。

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

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

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

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

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

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

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

    9. 密钥:如果您在上一步中选择了,则选择输入在对卷加密时要使用的 KMS 密钥。输入您以前使用 AWS Key Management Service 创建的任何 KMS 密钥。您可以粘贴您可以访问的任何密钥的完整 ARN。有关为客户托管密钥设置密钥策略的信息,请参阅 AWS Key Management Service 开发人员指南与加密卷结合使用时必需的 AWS KMS 密钥策略

      注意

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

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

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

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

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

更改默认网络接口

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

注意事项和限制

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

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

  • 无法为 Auto Scaling 实例分配特定私有 IP 地址。当实例启动时,会在从其中启动实例的子网的 CIDR 范围中分配私有地址。有关为您的 VPC 或子网指定 CIDR 范围的更多信息,请参阅 Amazon VPC 用户指南

  • 如果指定现有网络接口 ID,则只能启动一个实例。为此,必须使用 AWS CLI 或 SDK 创建 Auto Scaling 组。创建组时,必须指定可用区,但不指定子网 ID。此外,仅当现有网络接口的设备索引为 0 时才可指定该接口。

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

更改默认网络接口

  1. 网络接口下,选择添加网络接口

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

    1. 设备索引:指定设备索引。为主网络接口 (eth0) 输入 0

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

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

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

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

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

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

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

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

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

配置启动模板的高级设置

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

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

配置高级设置

  1. 对于高级详细信息,展开该节以查看字段。

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

    注意

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

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

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

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

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

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

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

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

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

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

  10. 对于许可证配置,您可以指定要使用的许可证配置。您可以根据指定的许可证配置启动实例,以跟踪您的许可证使用情况。有关更多信息,请参阅 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. Auto Scaling 指导下,选中复选框。

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

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

创建启动模板 (AWS CLI)

使用命令行创建启动模板

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

Limitations

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

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

  • 启动模板允许您在 Auto Scaling 组中配置其他设置以启动多个实例类型并组合按需和 Spot 购买选项,如 Auto Scaling 组具有多个实例类型和购买选项 中所述。不支持启动具有以下组合的实例:

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

    • 在 EC2-Classic 中

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