本教程将介绍创建一个用于定义您的 EC2 实例的启动模板和一个包含单个实例的 Auto Scaling 组。启动自动扩缩组后,您将终止该实例并验证实例是否已从服务中删除并被替换。为了保持实例数量的恒定,Amazon EC2 Auto Scaling 会自动检测并响应亚马逊运行 EC2 状况和可访问性检查。如果你在上云或用云实际操作过程中遇到了问题,可找云枢国际获取帮助,包括助力上云和构建优秀用云方案。
步骤 1:创建启动模板

在此步骤中,您将创建一个启动模板,该模板指定 Amazon A EC2 uto Scaling 为您创建的 EC2 实例的类型。

创建启动模板
-
打开 Amazon EC2 控制台,进入启动模板页面。
-
在顶部导航栏上,选择一个 AWS 区域。您创建的启动模板和自动扩缩组将会与您所指定的区域绑定。
-
选择Create launch template(创建启动模板)。
-
对于 Launch template name(启动模板名称),输入 my-template-for-auto-scaling。
-
在 Auto Scaling guidance(Auto Scaling 指导)下,选中复选框。
-
对于 Application and OS Images (Amazon Machine Image) [应用程序和操作系统镜像(Amazon Machine Image)],请从 Quick Start(快速启动)列表中选择一个 Amazon Linux 2(HVM)版本。AMI 用作实例的基本配置模板。
-
对于 Instance type(实例类型),选择与您指定的 AMI 兼容的硬件配置。
-
(可选)对于 Key pair (login) [密钥对(登录)],选择一个现有的密钥对。您可以使用密钥对通过 SSH 连接到 Amazon EC2 实例。有关连接到实例的内容不包括在本教程中。因此,除非您计划使用 SSH 连接到实例,否则不需要指定密钥对。
-
对于 Network settings(网络设置),展开 Advanced network configuration(高级网络配置),然后执行以下操作:
选择 Add network interface(添加网络接口)以配置主网络接口。
对于自动分配公有 IP,请指定您的实例是否接收公有 IPv4 地址。默认情况下,如果实例在默认子网中启动,或者 EC2 实例启动到配置为自动分配公有 IPv4 地址的子网,Amazon EC2 会分配一个公有 IPv4 地址。如果您不需要连接到实例,则请选择禁用。
对于安全组 ID,在计划用作自动扩缩组 VPC 的同一 VPC 中选择安全组。如果您没有指定安全组,实例会自动与 VPC 的默认安全组关联。
对于终止时删除:选择是以在删除实例时删除网络接口。
-
选择Create launch template(创建启动模板)。
-
在确认页面上,选择 Create Auto Scaling group(创建 Auto Scaling 组)。

步骤2:创建单个实例 Auto Scaling 组
创建启动模板后,使用以下步骤从中断的地方继续操作。
创建 自动扩缩组

在选择启动模板或配置页面上,对于 Auto Scaling 组名称,输入 my-first-asg。
选择 Next(下一步)。
此时将显示选择实例启动选项页面,以便选择您希望自动扩缩组使用的 VPC 网络设置,并提供启动按需型实例和竞价型实例的选项。

在网络部分,将 VPC 设置为您选择的默认 VPC AWS 区域,或者选择您自己的 VPC。默认 VPC 会自动配置为向您的实例提供 Internet 连接。此 VPC 在区域的每个可用区中均包含一个公有子网。
对于 Availability Zones and subnets(可用区和子网),请从您希望包含的每个可用区中选择一个子网。可以在多个可用区中使用子网以提供高可用性。有关更多信息,请参阅 选择 VPC 子网时的注意事项。
在 Instance type requirements(实例类型要求)部分中,使用默认设置简化此步骤。(请勿覆盖启动模板。) 在本教程中,您将仅使用启动模板中指定的实例类型启动一个按需型实例。
保留本教程的其余默认值,然后选择 Skip to review(跳到审核)。

注意:组的初始规模由其所需容量决定。默认值为 1 实例。
在 Review(审核)页面上,查看组的信息,然后选择 Create Auto Scaling group(创建 Auto Scaling 组)。
步骤 3:验证您的 Auto Scaling 组
既然您已经创建了 Auto Scaling 组,就可以验证该组是否已启动 EC2 实例了。
提示:在以下过程中,您需要查看 Auto Scaling 组的 Activity history(活动历史记录)和 Instances(实例)部分。这两个部分都会已经显示已命名的列。要显示隐藏的列或更改显示的行数,请选择每个部分右上角的齿轮图标以打开首选项模式,根据需要更新设置,然后选择 Confirm(确认)。
验证您的 Auto Scaling 组是否已启动 EC2 实例
-
打开亚马逊 EC2 控制台的 A uto Scaling 群组页面。
-
选中刚创建的 Auto Scaling 组旁边的复选框。
这时将在 Auto Scaling groups(Auto Scaling 组)页面底部打开一个拆分窗格。可用的第一个选项卡是 Details(详细信息)选项卡,显示有关 Auto Scaling 组的信息。
-
选择第二个选项卡,即 Activity(活动)。在 Activity history(活动历史记录)下,您可以查看与 Auto Scaling 组关联的活动的进度。Status(状态)列显示您实例的当前状态。当您的实例启动时,状态列将显示 Not yet in service。该实例启动后,状态会变为 Successful。您还可以使用刷新按钮来查看您的实例的当前状态。
-
在 Instance management(实例管理)选项卡上的 Instances(实例)下,您可以查看实例的状态。
-
验证您的实例已成功启动。启动实例只需很短的时间。
Lifecycle(生命周期)列显示您的实例的状态。最初,您的实例处于 Pending 状态。在实例准备好接收流量时,其状态为 InService。
运行状况列显示对您的实例进行 Amazon A EC2 uto Scaling 运行状况检查的结果。
步骤 4:终止 Auto Scaling 组中的实例
您在本教程中创建的 Auto Scaling 组的最小大小为一个实例。因此,如果您终止了正在运行的实例,Amazon A EC2 uto Scaling 必须启动一个新实例来替换它。
打开亚马逊 EC2 控制台的 A uto Scaling 群组页面。
选中您的自动扩缩组旁边的复选框。
在 Instance management(实例管理)选项卡上的 Instances(实例)下,选择实例的 ID。
这会将您带到 Amazon EC2 控制台的 "实例" 页面,您可以在其中终止实例。
依次选择 Actions(操作)、Instance State(实例状态)和 Terminate(终止)。当系统提示您确认时,选择 Yes, Terminate(是,终止)。
在导航窗格的 Auto Scaling 下,选择 自动扩缩组。选择您的 Auto Scaling 组,然后选择 Activity(活动)选项卡。
当您从实例页面终止实例时,在终止该实例后需要一两分钟的时间才能启动新实例。在活动历史记录中,当扩展活动启动时,将会看到有关终止第一个实例的条目以及有关启动新实例的条目。使用刷新按钮直到看到新条目。
在 Instance management(实例管理)选项卡上,Instances(实例)部分仅显示新实例。
在导航窗格上的 Instances(实例)下,选择 Instances(实例)。此页面同时显示已终止的实例和新的正在运行的实例。
步骤 5:清除

您可以删除扩缩基础设施,或者仅删除自动扩缩组而保留启动模板以供将来使用。
如果您启动的实例不在 AWS 免费套餐范围内,则应终止实例以避免产生额外费用。当您终止实例时,与其关联的数据也将被删除。
删除 Auto Scaling 组
打开亚马逊 EC2 控制台的 A uto Scaling 群组页面。
选中您的自动扩缩组 (my-first-asg) 旁边的复选框。
选择删除。
当系统提示进行确认时,键入 delete 以确认删除指定自动扩缩组,然后选择 Delete(删除)。
名称列中的加载图标指示 Auto Scaling 组正在被删除。发生删除时,Desired(所需)、Min(最小)和 Max(最大)列显示 Auto Scaling 组具有 0 个实例。终止实例并删除组需要几分钟时间。刷新列表以查看当前状态。
如果要保留启动模板,请跳过以下过程。
删除启动模板
打开 Amazon EC2 控制台的启动模板页面。
选择您的启动模板 (my-template-for-auto-scaling)。
选择 Actions(操作),然后选择 Delete template(删除模板)。
当系统提示进行确认时,键入 Delete 以确认删除指定启动模板,然后选择 Delete(删除)。