Amazon EC2 Auto Scaling
用户指南

Amazon EC2 Auto Scaling 入门

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

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

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

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

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

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

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

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

以下说明用于一个配置模板,该模板定义 EC2 实例,创建 Auto Scaling 组以保持固定实例数(即使实例已不能正常运行)以及选择删除该基本基础设施。

本教程假定您熟悉 EC2 实例的启动并已创建密钥对和安全组。有关更多信息,请参阅Amazon EC2 用户指南(适用于 Linux 实例)中的设置 Amazon EC2

步骤 1:创建启动模板

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

为 Auto Scaling 组创建启动模板

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

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

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

  4. 选择创建启动模板

    
                        启动模板欢迎界面
  5. 选择创建新模板。提供启动模板的名称(例如,my_template)和描述。

  6. 对于 AMI ID,请从 Quick Start (快速启动) 列表中选择一个 Amazon Linux 2 (HVM) 版本。Amazon 系统映像 (AMI) 用作实例的基本配置模板。

  7. 对于实例类型,选择与您指定的 AMI 兼容的硬件配置。请注意,免费套餐 Linux 服务器是一个 t2.micro 实例。

    注意

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

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

  9. (可选) 对于 Network type (网络类型),选择 VPC

  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.aws.amazon.com/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 2 AMI,选择 Select (选择)

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

  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)。

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

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

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

    5. Network (网络) 设置为您选择的 AWS 区域的默认 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 组实例

(可选)终止您的 Auto Scaling 组中的实例

如果需要,您可以尝试以下实验以了解 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 选项卡仅显示新实例。

    
                            Auto Scaling 组活动历史记录
  4. 在导航窗格中,选择实例。此页面同时显示已终止的实例和正在运行的实例。

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

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

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

删除 Auto Scaling 组

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

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

  3. 选择您的 Auto Scaling 组。

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

    Name 列指示 Auto Scaling 组正在在被删除。所需最小最大列显示 Auto Scaling 组具有 0 个实例。

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

删除启动模板

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

  2. 选择启动模板。

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

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

删除启动配置

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

  2. 选择启动配置。

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