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

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

为 Auto Scaling 组创建启动模板

在使用启动模板创建 Auto Scaling 组之前,必须先创建一个包含启动实例的配置信息的启动模板,包括亚马逊系统映像的 ID (AMI)。

要创建新的启动模板,请使用以下过程。

重要

在创建启动模板时,不会完全验证启动模板参数。如果您为参数指定了错误的值,或者如果您未使用受支持的参数组合,则任何实例都无法通过此启动模板启动。确保为参数指定的值正确,并使用支持的参数组合。例如,要使用基于 ARM 的 Gr AWS aviton 或 Graviton2 启动实例AMI,您必须指定与 ARM 兼容的实例类型。有关更多信息,请参阅 Amazon EC2 用户指南中的启动模板限制

创建启动模板(控制台)

以下步骤说明了配置基本启动模板的过程:

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

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

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

  • 添加一个或多个安全组以允许对实例的网络访问。

  • 指定是否要为每个实例挂载附加卷。

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

创建启动模板
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

  2. 在导航窗格中的实例下,选择启动模板

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

  4. (可选)在 A uto Scaling 指导下,选中复选框,让亚马逊EC2提供指导,帮助创建用于 Amazon A EC2 uto Scaling 的模板。

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

    1. 应用程序和操作系统映像(Amazon 系统映像):(必填)AMI为您的实例选择的 ID。您可以搜索所有可用内容AMIs,也可以AMI从 “最” 或 “快速入门” 列表中选择。如果您没有看到所需的内容AMI,请选择 “浏览更多” AMIs 以浏览完整AMI目录。

      要选择自定义AMI,您必须先AMI从自定义实例中创建。有关更多信息,请参阅《亚马逊EC2用户指南》AMI中的创建亚马逊EBS支持

    2. 对于实例类型,请选择与您指定的实例类型兼容的单个实例类型。AMI

      或者,要使用基于属性的实例类型选择,请选择高级指定实例类型属性,然后指定以下选项:

      • 数量 vCPUs:输入最小和最大数量vCPUs。若要表示为无限制,请输入最小值为 0,然后将最大值留空。

      • Amount of memory (MiB) [内存大小(MiB)]:输入最小和最大内存大小(以 MiB 为单位)。若要表示为无限制,请输入最小值为 0,然后将最大值留空。

      • 展开 Optional instance type attributes(可选的实例类型属性),然后选择 Add attribute(添加属性)以进一步限制可用于满足所需容量的实例类型。有关每个属性的信息,请参阅 Amazon EC2 API 参考InstanceRequirementsRequest中的。

      • 生成的实例类型:您可以查看符合指定计算要求的实例类型vCPUs,例如内存和存储。

      • 要排除实例类型,请选择 Add Attribute(添加属性)。从 Attribute(属性)列表中,选择 Excluded instance types(排除的实例类型)。从 Attribute value(属性值)列表中,选择要排除的实例类型。

    3. Key pair (login) [密钥对(登录)]:对于 Key pair name(密钥对名称),请选择一个现有密钥对,或选择 Create new key pair(创建新密钥对)以新建一个密钥对。有关更多信息,请参阅亚马逊EC2用户指南中的亚马逊EC2密钥对和 Linux 实例

    4. Network settings(网络设置):对于 Firewall (security groups) [防火墙(安全组)],请使用一个或多个安全组,或将此留空并将一个或多个安全组配置为网络接口的一部分。有关更多信息,请参阅亚马逊EC2用户指南中的适用于 Linux 实例的亚马逊EC2安全组

      如果您未在启动模板中指定任何安全组,Amazon 将EC2使用您的 Auto Scaling 组将启动实例的默认安全组。VPC预设情况下,此安全组不允许来自外部网络的入站流量。有关更多信息,请参阅 Amazon VPC 用户指南VPCs中的您的默认安全组

    5. 请执行以下操作之一:

      • 更改原定设置网络接口设置。例如,您可以启用或禁用公有IPv4寻址功能,该功能会覆盖子网上的自动分配公有IPv4地址设置。有关更多信息,请参阅 更改默认网络接口设置(控制台)

      • 跳过此步骤以保留原定设置网络接口设置。

    6. 请执行以下操作之一:

    7. 对于 Resource tags(资源标签),请提供键值组合以指定标签。如果您在启动模板中指定了实例标签,然后选择将 Auto Scaling 组的标签传播到其实例,则所有标签都会合并。如果为启动模板中的标签和 Auto Scaling 组中的标签指定了相同的标签键,则优先使用该组中的标签值。

  6. (可选)配置高级设置。例如,您可以选择应用程序在访问其他 AWS 资源时可以使用的IAM角色,也可以指定实例用户数据,以便在实例启动后用于执行常见的自动配置任务。有关更多信息,请参阅 使用高级设置创建启动模板

  7. 准备好创建启动模板后,请选择 Create launch template(创建启动模板)。

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

更改默认网络接口设置(控制台)

网络接口提供与您VPC和互联网中其他资源的连接。有关更多信息,请参阅 使用 Amazon VPC 为 Auto Scaling 实例提供网络连接

这一部分说明了如何更改原定设置网络接口设置。例如,您可以定义是否要为每个实例分配公有IPv4地址,而不是默认使用子网上的自动分配公有IPv4地址设置。

注意事项和限制

更改原定设置网络接口设置时,请记住以下注意事项和限制:

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

  • 您不能为网络接口分配其他私有 IP 地址,即所谓的 secondary IP addresses(辅助私有 IP 地址)。

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

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

  • 实例启动时,系统会自动为每个网络接口分配一个私有地址。该地址来自启动实例的子网CIDR范围。有关为您的VPC或子网指定CIDR区块(或 IP 地址范围)的信息,请参阅 Amazon VPC 用户指南

更改原定设置网络接口设置
  1. Network settings(网络设置)下,展开 Advanced network configuration(高级网络配置)。

  2. 选择 Add network interface(添加网络接口)以配置主网络接口,同时应注意以下字段:

    1. Device index(设备索引):保留原定设置值 0 以将您的更改应用于主网络接口(eth0)。

    2. 网络接口:保留默认值 “新接口”,让 Amazon A EC2 uto Scaling 在实例启动时自动创建新的网络接口。您也可以选择一个设备索引为 0 的现有可用网络接口,但这将您的 Auto Scaling 组限定为单个实例。

    3. Description(描述):(可选)请输入一个描述性的名称。

    4. Subnet(子网):保留原定设置 Don't include in launch template(不包括在启动模板中)。

      如果为网络接口AMI指定子网,则会导致错误。我们建议关闭 Auto Scaling guidance(Auto Scaling 指南)以解决此问题。进行此更改后,您将不会收到错误消息。但无论指定的子网来自何处,Auto Scaling 组的子网设置将会优先,且不能被覆盖。

    5. 自动分配公有 IP:更改设备索引为 0 的网络接口是否接收公共IPv4地址。默认情况下,默认子网中的实例会收到公有IPv4地址,而非默认子网中的实例则不会。选择启用禁用可以覆盖子网的默认设置。

    6. Security groups(安全组):为网络接口选择一个或多个安全组。每个安全组都必须针对您的 Auto Scaling 组将启动实例的进行配置。VPC有关更多信息,请参阅亚马逊EC2用户指南中的适用于 Linux 实例的亚马逊EC2安全组

    7. Delete on termination(终止时删除):选择 Yes(是)以在实例终止时删除网络接口,或选择 No(否)以保留网络接口。

    8. Elastic Fabric Adapter:要支持高性能计算和机器学习使用案例,请将网络接口更改为某个 Elastic Fabric Adapter 网络接口。有关更多信息,请参阅 Amazon EC2 用户指南中的弹性结构适配器

    9. Network card index(网卡索引):选择 0 以将主要网络接口挂载到设备索引为 0 的网卡。如果此选项不可用,则保留原定设置 Don't include in launch template(不包括在启动模板中)。将网络接口挂载到特定网卡的功能仅适用于支持的实例类型。有关更多信息,请参阅 Amazon EC2 用户指南中的网卡

    10. ENA快速:对于支持 Expr ENA ess 的实例类型,请选择 “启用” 以启用 ENA Express,或者选择 “禁用” 将其禁用。有关更多信息,请参阅亚马逊EC2用户指南中的在 Linux 实例上使用 Ex ENA press 提高网络性能

    11. ENAExpres sUDP:如果启用 ENAExpress,则可以选择将其用于UDP流量。选择 “启用” 以启用 “ENA快速”,UDP或选择 禁用” 将其禁用。

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

修改存储配置(控制台)

您可以修改从 Amazon 支持的实例AMI或EBS由实例存储支持的实例启动的存储配置。AMI您还可以指定要连接到实例的其他EBS卷。AMI包括一个或多个存储卷,包括根卷(卷 1(AMI根))。

修改存储配置
  1. Configure storage(配置存储)中,修改卷的大小或类型。

    如果指定的卷大小值超出相应卷类型的限制,或者小于快照大小,则会显示错误消息。此消息会提供有关该字段可以接受的最小值或最大值信息,以帮助您解决此问题。

    仅AMI显示与 Amazon EBS 支持的卷关联的卷。要显示有关从实例存储支持的实例启动的存储配置的信息AMI,请从实例存储卷部分选择显示详细信息

    要指定所有EBS音量参数,请切换到右上角的高级视图。

  2. 对于高级选项,请展开要修改的卷并按如下方式配置该卷:

    1. 存储类型:要与您的实例关联的卷(EBS或临时卷)的类型。仅当您选择支持实例存储(临时)卷类型的实例类型时,该卷类型才可用。有关更多信息,请参阅亚马逊用户指南中的亚马逊EBS卷和亚马逊EBS用户指南中的亚马逊EC2EC2实例存储

    2. Device name(设备名称):从卷的可用设备名称列表中进行选择。

    3. Snapshot(快照):选择要从其中创建卷的快照。您可以通过在 Snapshot(快照)字段中输入文本来搜索可用的共享快照和公有快照。

    4. 大小 (GiB):对于EBS卷,您可以指定存储大小。如果您选择了符合免费套餐条件的AMI和实例,请记住,要保持在免费套餐内,总存储空间必须保持在 30 GiB 以下。有关更多信息,请参阅 Amazon EBS 用户指南中的EBS卷大小和配置限制

    5. 卷类型:对于EBS卷,请选择卷类型。有关更多信息,请参阅《亚马逊EBS用户指南》中的亚马逊EBS卷类型

    6. IOPS:如果您选择了预配置 IOPSSSD(io1io2)或通用型SSD(gp3)卷类型,则可以输入该卷可以支持的每秒 I/O 操作数(IOPS)。这对于 io1、io2 和 gp3 卷是必需的。gp2、st1、sc1 或标准卷不支持。

    7. 终止时删除:对于EBS卷,选择 “” 以在实例终止时删除卷,或选择 “” 以保留卷。

    8. 已加密:如果实例类型支持EBS加密,则可以选择为卷启用加密。如果默认情况下在此区域中启用了加密,则会为您启用加密。有关更多信息,请参阅《亚马逊EBSEBS用户指南》中的 “亚马逊加密” 和 “默认启用加密”。

      设置此参数的默认效果会随所选卷源而异,如下表所述。在所有情况下,您都必须拥有使用指定内容的权限 AWS KMS key。

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

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

    9. KMS密钥:如果您将 “已加密” 选择为 “”,则必须选择用于加密卷的客户托管密钥。如果默认情况下在此区域中启用了加密,则将为您选择默认的客户托管密钥。您可以选择其他密钥,也可以指定之前使用创建的任何客户托管密钥 AWS Key Management Service。ARN

  3. 要指定附加卷以挂载到此启动模板启动的实例,请选择 Add new volume(添加新卷)。

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

通过现有实例创建启动模板
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

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

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

  4. 提供名称和说明。

  5. Auto Scaling 指导下,选中复选框。

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

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

我们提供了一些JSONYAML模板片段,您可以使用它们来了解如何在 AWS CloudFormation 堆栈模板中声明启动模板。有关更多信息,请参阅AWS:::EC2: LaunchTemplate 和《AWS CloudFormation 用户指南》中的 AWS CloudFormation部分创建启动模板

有关启动模板的更多信息,请参阅 Amazon EC2 用户指南中的从启动模板启动实例

限制

  • 虽然可以在启动模板中指定子网,但如果您仅使用启动模板创建自动扩缩组,则无需这样做。您无法通过在启动模板中指定子网来为自动扩缩组指定子网。自动扩缩组的子网取自自动扩缩组自己的资源定义。

  • 有关用户定义网络接口的其他限制,请参阅 更改默认网络接口设置(控制台)