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

Amazon EC2 Auto Scaling 入门

在使用 Amazon EC2 Auto Scaling 时,您必须从特定的构建块入手。本教程将分步为您介绍为 Amazon EC2 Auto Scaling 设置基本基础设施的过程。

在创建用于应用程序的 Auto Scaling 组之前,请全面考察应用程序在 AWS 云中运行时的情况。记录以下内容:

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

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

  • 您希望 Auto Scaling 组跨多少个可用区。

  • 您可以使用哪些现有资源(如 EC2 实例或 Amazon 系统映像 (AMI))。

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

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

以下分步说明将帮助您创建一个配置模板,该模板用来定义您的 EC2 实例,创建 Auto Scaling 组以始终保持正常运行的实例数,以及删除该基本基础设施(可选)。本教程假定您熟悉 EC2 实例的启动并已创建密钥对和安全组。

步骤 1:创建启动模板

在此步骤中,您将创建一个启动模板,它指定 Amazon EC2 Auto Scaling 为您创建的 EC2 实例的类型。在创建启动模板时,您需要包含一些信息,例如,用于启动 EC2 实例的 Amazon 系统映像 (AMI) 的 ID、实例类型、密钥对、安全组、块储存设备映射以及其他设置。

为 Auto Scaling 组创建启动模板

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航栏上,选择区域。您创建的 Amazon EC2 Auto Scaling 资源与您指定的区域绑定,不会在各区域之间重复。有关更多信息,请参阅示例:在可用区之间分配实例

  3. 在导航窗格中,选择实例,然后选择启动模板

  4. 选择创建启动模板

  5. 选择创建新模板。提供启动模板的名称和描述。

  6. 对于 AMI ID,选择从中启动实例的 AMI ID。Amazon 系统映像 (AMI) 用作实例的模板。

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

  8. (可选) 对于密钥对名称,键入在连接到您的实例时使用的密钥对的名称。

  9. (可选)对于网络类型,如果适用,请选择是将实例启动到 VPC 还是 EC2-Classic

    重要

    当您创建 Auto Scaling 组时,启动模板的网络类型、子网和可用区设置将被忽略,以支持 Auto Scaling 组的设置

  10. 跳过安全组以将安全组配置为网络接口的一部分。您不能在这两处指定安全组。

  11. 对于网络接口,配置自动分配公有 IP安全组 ID。要将实例启动到 VPC 中,您必须指定一个为该 VPC 创建的安全组。您可以将其他字段保留空白,这会创建具有我们为您的实例选择的 IP 地址的主网络接口。

  12. (可选) 对于存储 (卷),除了您指定的 AMI 所指定的卷以外,还可以指定要连接到实例的卷。

  13. (可选) 对于标签,指定一个或多个要与实例和卷关联的标签。

  14. 选择创建启动模板

  15. 在确认页上,选择 Create Auto Scaling group (创建 Auto Scaling 组)

如果您当前未使用启动模板,您可以转而创建启动配置。

启动配置类似于启动模板,它指定 Amazon EC2 Auto Scaling 为您创建的 EC2 实例的类型。通过包含要使用的 Amazon 系统映像 (AMI) 的 ID、实例类型、密钥对、安全组和块储存设备映射等信息,创建启动配置。

创建启动配置

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航栏上,选择区域。您创建的 Auto Scaling 资源与您指定的区域绑定,不会在各区域之间重复。有关更多信息,请参阅示例:在可用区之间分配实例

  3. 在导航窗格上的 Auto Scaling 下,选择 Auto Scaling Groups (Auto Scaling 组)

  4. Welcome to Auto Scaling (欢迎使用 Auto Scaling) 页面上,选择 Create Auto Scaling group (创建 Auto Scaling 组)

  5. Create Auto Scaling Group (创建 Auto Scaling 组) 页面上,选择 Launch Configuration, Create a new launch configuration (启动配置、创建新启动配置),然后选择 Next Step (下一步)

  6. 对于 Choose AMI (选择 AMI) 步骤,有一组称为 Amazon 系统映像 (AMI) 的基本配置,它们充当您的实例的模板。对于 Amazon Linux AMI,选择 Select (选择)

  7. 对于 Choose Instance Type (选择实例类型) 步骤,为您的实例选择硬件配置。建议您保留默认值,即 t2.micro 实例。选择 Next: Configure details

    注意

    必须将 T2 实例启动到 VPC 的子网中。如果选择 t2.micro 实例,但是没有 VPC,系统会为您创建一个。此 VPC 在区域的每个可用区中均包含一个公有子网。

  8. 对于 Configure details (配置详细信息) 步骤,执行以下操作:

    1. 对于 Name,为启动配置键入一个名称(例如,my-first-lc)。

    2. 对于 Advanced Details,选择 IP 地址类型。如果要连接至 VPC 中的一个实例,您必须选择一个指定了公有 IP 地址的选项。如果您想连接到实例,但是不确定您是否有默认 VPC,请选择 Assign a public IP address to every instance

    3. 选择 Skip to review

  9. 对于 Review (审核) 步骤,选择 Edit security groups (编辑安全组)。按照说明操作来选择现有安全组,然后选择 Review

  10. 对于 Review (审核) 步骤,选择 Create launch configuration (创建启动配置)

  11. 按照提示完成 Select an existing key pair or create a new key pair (选择现有密钥对或创建新密钥对)。注意,在本教程中,您不会连接到自己的实例。因此,您可以选择 Proceed without a key pair,除非您打算连接到您的实例。

  12. 选择 Create launch configuration。创建启动配置并显示创建 Auto Scaling 组的向导。

步骤 2:创建 Auto Scaling 组

Auto Scaling 组是一个 EC2 实例集合,并且是 Amazon EC2 Auto Scaling 的核心。在创建 Auto Scaling 组时,您需要包含一些信息,例如,实例的子网和开始时的初始实例数。

创建启动模板后,使用以下步骤从中断的地方继续操作。

创建 Auto Scaling 组

  1. 对于 Configure Auto Scaling group details (配置 Auto Scaling 组详细信息) 步骤,执行以下操作:

    1. 对于 Group name (组名),键入您的 Auto Scaling 组的名称(例如,my-first-asg)。

    2. 对于 Launch template version (启动模板版本),选择 Auto Scaling 组在横向扩展时使用启动模板的默认版本、最新版本还是特定版本。

    3. 对于 Fleet Composition (队组构成),选择 Adhere to the launch template (遵循启动模板)

    4. 在本教程中,将 Group size 保留为默认值,即 1 个实例。

    5. Network (网络) 设置为该区域的默认 VPC,或者选择您自己的 VPC。

    6. 对于子网,选择 VPC 的一个子网。

    7. 选择 Next: Configure scaling policies

  2. Configure scaling policies 页面上,选择 Keep this group at its initial sizeReview

  3. Review 页面上,选择 Create Auto Scaling group

  4. Auto Scaling group creation status 页面上,选择 Close

步骤 3:验证 Auto Scaling 组

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

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

  1. Auto Scaling Groups 页面上,选择您刚创建的 Auto Scaling 组。

  2. Details 选项卡提供了有关 Auto Scaling 组的信息。

    
                        Auto Scaling 组详细信息
  3. Activity History 选项卡上,Status 列显示实例的当前状态。当您的实例启动时,状态列将显示 In progress。该实例启动后,状态会变为 Successful。您还可以使用刷新按钮来查看您的实例的当前状态。

  4. Instances 选项卡上,Lifecycle 列显示实例的状态。您可以看到 Auto Scaling 组已启动 EC2 实例,并且该实例处于 InService 生命周期状态。Health Status (运行状态) 列显示对您的实例进行 EC2 实例运行状况检查的结果。

    
                        Auto Scaling 组实例
  5. (可选)如果需要,您可以尝试以下实验,以进一步了解 Amazon EC2 Auto Scaling 的情况。您的 Auto Scaling 组的最小容量为 1 个实例。因此,如果您终止了正在运行的实例,Amazon EC2 Auto Scaling 必须启动一个新实例替换它。

    1. Instances 选项卡上,选择实例的 ID。这将在 Instances 页面上显示实例。

    2. 依次选择 ActionsInstance StateTerminate。当系统提示您确认时,选择 Yes, Terminate

    3. 在导航窗格中,选择 Auto Scaling Groups (Auto Scaling 组)。选择您的 Auto Scaling 组,然后选择 Activity History (活动历史记录) 选项卡。Auto Scaling 组的默认冷却时间是 300 秒(5 分钟),因此您大约需要等 5 分钟才能看到扩展活动。扩展活动开始执行时,您会看到有关第一个实例终止的条目,以及一个有关启动新实例的条目。Instances 选项卡仅显示新实例。

    4. 在导航窗格中,选择 Instances。此页面同时显示已终止的实例和正在运行的实例。

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

步骤 4:(可选) 删除扩展基础设施

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

删除 Auto Scaling 组

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格上的 Auto Scaling 下,选择 Auto Scaling Groups (Auto Scaling 组)

  3. 选择您的 Auto Scaling 组(例如,my-first-asg)。

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

    Name 列指示 Auto Scaling 组正在在被删除。DesiredMin 以及 Max 列显示 Auto Scaling 组有 0 个实例。

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

删除启动模板

  1. 在导航窗格中,选择实例,然后选择启动模板

  2. 选择您的启动模板(例如,my-first-lt)。

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

如果您要保留启动配置,请跳过这一步。

删除启动配置

  1. 在导航窗格上的 Auto Scaling 下,选择 Launch Configurations (启动配置)

  2. 选择您的启动配置(例如,my-first-lc)。

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