Amazon EC2 Auto Scaling 入手 - Amazon EC2 Auto Scaling
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Amazon EC2 Auto Scaling 入手

在使用 Amazon EC2 Auto Scaling 时,您必须使用特定的构建块入手。本教程将引导您完成设置构建块以创建用于 Amazon EC2 Auto Scaling 的基本基础设施的过程。

在创建用于应用程序的 Auto Scaling 组之前,请全面检查应用程序在Amazon云。请考虑以下事项:

  • Auto Scaling 组应跨多少个可用区。

  • 可以使用哪些现有的资源,例如安全组或 Amazon 系统映像 (AMI)。

  • 无论您是希望进行扩展以增加或减少容量,还是只希望确保始终运行特定数量的服务器,请记住,Amazon EC2 Auto Scaling 可以同时实现这两个目标。

  • 哪些指标与应用程序的性能关系最密切。

  • 启动和配置服务器需要多长时间。

您越了解您的应用程序,Auto Scaling 架构的效率就越高。

演练摘要

在本演练中,您将:

  • 创建用于定义 EC2 实例的配置模板。您可以选择启动模板或启动配置说明。尽管您可以使用启动配置,我们建议您使用启动模板,以便您可以使用最新的 Amazon EC2 功能和 Amazon EC2 Auto Scaling 功能。

  • 创建包含单个实例的 Auto Scaling 组。

  • 终止实例,并验证实例是否已从服务中删除并被替换。为了保持恒定数量的实例,Amazon EC2 Auto Scaling 会自动检测并响应 Amazon EC2 运行状况和可达性检查。

如果您创建了Amazon帐户不到 12 个月前,并没有超过免费套餐权益范围内,学完本教程不需要任何费用,因为我们会帮助您选择免费套餐权益范围内的实例类型。否则,当您按照此教程操作时,您从启动实例的那一刻开始承担标准的 Amazon EC2 使用费,直至删除 Auto Scaling 组(本教程的最后一个任务),且实例状态变为terminated

准备演练

本演练假定您熟悉 EC2 实例的启动并已创建 key pair 和安全组。有关更多信息,请参阅 。使用 Amazon EC2 进行设置中的适用于 Linux 实例的 Amazon EC2 用户指南

如果您是 Amazon EC2 Auto Scaling 的新手并希望开始使用该服务,则可以使用default (默认)适用于您的 VPCAmazonaccount. 默认 VPC 在各个可用区中包含一个默认公有子网,以及连接到您 VPC 的 Internet 网关。您可以在“Your VPCs (您的 VPC)”页面在 Amazon Virtual Private Cloud (Amazon VPC) 控制台中。

请注意,以下所有过程都适用于新控制台。

第 1 步:创建启动模板

在此步骤中,Amazon EC2 使用Amazon账户凭证,并创建启动模板,用于指定 Amazon EC2 Auto Scaling 为您创建的 EC2 实例类型。包含一些信息,例如要使用的 Amazon 系统映像 (AMI) 的 ID、实例类型、key pair 和安全组。

注意

或者,您可以使用启动配置创建 Auto Scaling 组,而不是使用启动模板。有关启动配置说明,请参阅Create a launch configuration

创建启动模板

  1. 打开 Amazon EC2 控制台

  2. 在屏幕顶部的导航栏中,选择Amazon区域。您创建的 Amazon EC2 Auto Scaling 资源与您所指定的区域相关联。

  3. 在左侧导航窗格中,依次选择启动模板,然后选择创建启动模板

  4. 适用于启动模板名称,输入my-template-for-auto-scaling

  5. UNDEAuto Scaling 指导下,选中相应的复选框。

  6. 适用于Amazon 系统映像 (AMI)中,请从快速启动列表。AMI 用作实例的基本配置模板。

  7. 对于实例类型,选择与您指定的 AMI 兼容的硬件配置。

    注意

    如果您的账户不到 12 个月,您可以在特定使用限制下免费使用 t2.micro 实例。有关更多信息,请参阅 。Amazon免费套餐

  8. (可选)对于 Key pair name (密钥对名称),选择现有密钥对。您可以使用密钥对通过 SSH 连接到 Amazon EC2 实例。有关连接到实例的内容不包括在本教程中。因此,除非您打算连接到您的实例,否则不需要指定密钥对。

  9. 离开网络平台设置为VPC

  10. 适用于安全组中,在计划用作 Auto Scaling 组的 VPC 的同一 VPC 中选择一个安全组。如果您没有指定安全组,实例会自动与 VPC 的默认安全组关联。

  11. 你可以离开网络接口空的。将此设置留空将创建一个具有我们为您的实例选择的 IP 地址的主网络接口(基于网络接口为之建立的子网)。如果您选择指定网络接口,则安全组必须属于该接口。

  12. 选择创建启动模板

  13. 在确认页面上,选择创建 Auto Scaling 组

如果您当前未使用启动模板,并且不希望立即创建启动模板,则可以改为创建启动配置。

启动配置类似于启动模板,它指定 Amazon EC2 Auto Scaling 为您创建的 EC2 实例的类型。您可以包含一些信息以创建启动配置,例如,要使用的 Amazon 系统映像 (AMI) 的 ID、实例类型、key pair 和安全组。

创建启动配置

  1. 打开“Launch Configtions,将设置为 Amazon EC2 控制台。

  2. 在导航栏上,选择Amazon区域。您创建的 Auto Scaling 资源与您所指定的区域相关联。

  3. 选择创建启动配置,然后输入my-first-launch-configuration中的名称字段。

  4. 适用于Amazon 系统映像 (AMI)下,选择一个 AMI。要查找特定 AMI,您可以找到合适的 AMI,记下其 ID,然后输入 ID 作为搜索条件。

    要获取 Amazon Linux 2 AMI 的 ID,请执行以下操作:

    1. 打开 Amazon EC2 控制台

    2. 在导航窗格中的实例中,选择实例,然后选择启动实例

    3. 在存储库的快速启动选项卡选择一个 Amazon 系统映像页面上,请注意 AMI 旁边的Amazon Linux 2 AMI (HVM)请注意,此 AMI 标记为 “符合条件的免费套餐”。

  5. 适用于实例类型中,为您的实例选择硬件配置。

    注意

    如果您的账户不到 12 个月,您可以在特定使用限制下免费使用 t2.micro 实例。有关更多信息,请参阅 。Amazon免费套餐

  6. UNDE其他配置, 用于高级详细信息IP 地址类型下,做出选择。要为 VPC 中的实例提供 Internet 连接,请选择一个指定了公有 IP 地址的选项。如果实例在默认 VPC 中启动,则默认分配公有 IP 地址。如果您要向实例提供 Internet 连接,但是不确定您是否有默认 VPC,请选择 Assign a public IP address to every instance (向每个实例分配公有 IP 地址)

  7. 适用于安全组中,选择现有安全组。如果您离开创建新安全组选项,则会为运行 Linux 的 Amazon EC2 实例配置默认 SSH 规则。为运行 Windows 的 Amazon EC2 实例配置了默认 RDP 规则。

  8. 适用于密钥对(登录)中,选择一个选项密钥对选项按照指示. 有关连接到实例的内容不包括在本教程中。因此,您可以选择 Proceed without a key pair,除非您打算连接到您的实例。

  9. 选择 Create launch configuration

  10. 选中新启动配置名称旁边的复选框,然后选择操作创建 Auto Scaling 组

第 2 步:创建单实例 Auto Scaling 组

现在,可以使用 Amazon EC2 Auto Scaling 组创建 Auto Scaling 组并将启动模板或启动配置添加到组。还包括实例的 VPC 子网等信息。

创建启动模板或启动配置后,使用以下过程从中断的地方继续操作。

创建 Auto Scaling 组的步骤

  1. 在存储库的选择启动模板或配置页面,对于Auto Scaling 组名称,输入my-first-asg

  2. 选择 Next

    此时将显示 Configure settings (配置设置) 页面,允许您配置网络设置,并为您提供跨多个实例类型启动按需实例和 Spot 实例的选项(如果您选择了启动模板)。

  3. [仅限启动模板] 保留购买选项和实例类型设置为遵循启动模板

  4. 保持网络设置为您所选择的默认 VPCAmazon或者选择您自己的 VPC。默认 VPC 会自动配置为向您的实例提供 Internet 连接。此 VPC 在区域的每个可用区中均包含一个公有子网。

  5. 对于 Subnet (子网),请从您希望包含的每个可用区中选择一个子网。可以在多个可用区中使用子网以提供高可用性。

  6. 保留本教程的其余默认值,然后选择跳到审核

    注意

    组的初始规模由其所需容量决定。默认值为 1 实例。

  7. 在存储库的审核页面上,查看组的信息,然后选择创建 Auto Scaling 组

第 3 步:验证 Auto Scaling 组

现在,您已创建 Auto Scaling 组,可验证该组是否已启动 EC2 实例。

验证 Auto Scaling 组是否已启动 EC2 实例

  1. 打开Auto Scaling 组页面在 Amazon EC2 控制台中。

  2. 选中刚创建的 Auto Scaling 组旁边的复选框。

    将在 Auto Scaling groups (Auto Scaling 组) 页面底部打开一个拆分窗格,其中显示有关该组的信息。第一个可用的选项卡是详细信息选项卡,显示有关 Auto Scaling 组的信息。

  3. 选择第二个选项卡,即 Activity (活动)。UNDE活动历史记录中,您可以查看与 Auto Scaling 组关联的活动的进度。Status (状态) 列显示您实例的当前状态。当您的实例启动时,状态列将显示 PreInService。该实例启动后,状态会变为 Successful。您还可以使用刷新按钮来查看您的实例的当前状态。

  4. 实例管理选项卡上的实例下,您可以查看实例的状态。

  5. 验证您的实例已成功启动。启动实例只需很短的时间。

    生命周期列显示您的实例的状态。最初,您的实例处于 Pending 状态。在实例准备好接收流量时,其状态为 InService

    Health status (运行状态) 列显示对您的实例进行 EC2 实例运行状况检查的结果。

第 4 步:终止 Auto Scaling 组中的实例

使用这些步骤了解有关 Amazon EC2 Auto Scaling 工作原理的更多信息,特别是如何在必要时启动新实例。您在本教程中创建的 Auto Scaling 组的最小大小为一个实例。因此,如果您终止正在运行的实例,Amazon EC2 Auto Scaling 必须启动一个新实例以替换该实例。

  1. 打开Auto Scaling 组页面在 Amazon EC2 控制台中。

  2. 选中 Auto Scaling 组旁边的复选框。

  3. Instance management (实例管理) 选项卡上的 Instances (实例) 下,选择实例的 ID。

    这会将您带到实例页面,Amazon EC2 可以在其中终止实例。

  4. 依次选择 Actions (操作)Instance State (实例状态)Terminate (终止)。当系统提示您确认时,选择 Yes, Terminate

  5. 在导航窗格上的 AUTO SCALING 下,选择 Auto Scaling Groups (Auto Scaling 组)。选择 Auto Scaling 组,然后选择活动选项卡。

    Auto Scaling 组的默认冷却时间是 300 秒 (5 分钟),因此您大约需要等 5 分钟才能看到扩展活动。在活动历史记录中,当扩展活动启动时,将会看到有关终止第一个实例的条目以及有关启动新实例的条目。

  6. Instance management (实例管理) 选项卡上,Instances (实例) 部分仅显示新实例。

  7. 在导航窗格上的 INSTANCES (实例) 下,选择 Instances (实例)。此页面同时显示已终止的实例和新的正在运行的实例。

第 5 步:后续步骤

如果您想删除刚创建的用于自动扩展的基本基础设施,请转到下一步。否则,您可以将该基础设施作为基础,然后尝试以下一个或多个操作:

  • 手动扩展您的 Auto Scaling 组。有关更多信息,请参阅 手动扩展

  • 了解如何在资源利用率发生变化的位置自动扩展。如果负载增加,Auto Scaling 组可以向外扩展(添加实例)以满足需求。有关更多信息,请参阅 目标跟踪扩展策略

  • 配置 SNS 通知,以便在 Auto Scaling 组启动或终止实例时收到通知。有关更多信息,请参阅 通过 Amazon SNS 通知进行监控

第 6 步:清除

您可以删除扩展基础设施,或者仅删除 Auto Scaling 组而保留启动模板或启动配置以供将来使用。

如果您启动的实例不在Amazon免费套餐,您应终止实例以避免产生额外费用。当您终止实例时,与其关联的数据也将被删除。

删除 Auto Scaling 组

  1. 打开Auto Scaling 组页面在 Amazon EC2 控制台中。

  2. 选择 Auto Scaling 组 (my-first-asg)。

  3. 选择 Delete (删除)。当系统提示进行确认时,选择 Delete

    加载图标位于名称列指示 Auto Scaling 组正在在被删除。当删除发生时,预期最小值, 和最大值List 显示0实 Auto Scaling。终止实例并删除组需要几分钟时间。刷新列表以查看当前状态。

如果要保留启动模板,请跳过以下过程。

删除启动模板

  1. 打开 Amazon EC2 控制台

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

  3. 选择启动模板 (my-template-for-auto-scaling)。

  4. 选择操作,然后选择删除模板。在提示确认时,选择删除启动模板

如果您要保留启动配置,请跳过以下过程。

删除启动配置

  1. 打开“Launch Configtions,将设置为 Amazon EC2 控制台。

  2. 选择启动配置 (my-first-launch-configuration)。

  3. 依次选择 ActionsDelete launch configuration。当系统提示进行确认时,选择 Yes, Delete