使用 AWS Management Console 或启用检查点 AWS CLI - Amazon A EC2 uto Scaling

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

使用 AWS Management Console 或启用检查点 AWS CLI

您可以使用 AWS Management Console 或 AWS CLI 来启用检查点。

启用检查点(控制台)

您可以在开启实例刷新之前启用检查点,以使用增量或分阶段方法替换实例。这将为验证提供额外时间。

启动使用检查点的实例刷新
  1. 访问 https://console.aws.amazon.com/ec2/,打开 Amazon EC2 控制台,然后从导航窗格中选择 Auto Scaling Groups(Auto Scaling 组)。

  2. 选中您的自动扩缩组旁边的复选框。

    将在 Auto Scaling group(Auto Scaling 组)页面底部打开一个拆分窗格。

  3. Instance refresh(实例刷新)选项卡上的 Active instance refresh(活跃实例刷新)中,选择 Start instance refresh(开启实例刷新)。

  4. Start instance refresh(开启实例刷新)页面上,输入 Minimum healthy percentage(最低运行正常百分比)和 Instance warmup(实例预热)的值。

  5. 选择 Enable checkpoints(启用检查点)复选框。

    此时将显示一个框,您可以在其中定义第一个检查点的百分比阈值。

  6. 对于 Proceed until ____ % of the group is refreshed(继续直到刷新该组的 ____ %)中,输入一个数字 (1–100)。这将设置第一个检查点的百分比。

  7. 要添加另一个检查点,请选择添加检查点,然后定义下一个检查点的百分比。

  8. 要指定 Amazon EC2 Auto Scaling 在达到检查点后等待多长时间,请更新在检查点之间等待 1 hour 中的字段。时间单位可以是小时、分钟或秒。

  9. 如果您已完成实例刷新选择,请选择启动实例刷新

启用检查点 (AWS CLI)

要使用启用检查点启动实例刷新 AWS CLI,您需要一个定义以下参数的配置文件:

  • CheckpointPercentages:指定要替换的实例百分比的阈值。这些阈值提供检查点。当替换和预热的实例百分比达到指定阈值之一时,操作将等待指定的时间段。您可指定在 CheckpointDelay 中等待的秒数。当指定的时间段过后,实例刷新将继续进行直到达到下一个检查点(如果适用)。

  • CheckpointDelay:指定在到达检查点之后与继续操作之前需要等待的时间量(以秒为单位)。选择提供足够时间以执行验证的时间段。

CheckpointPercentages 数组中显示的最后一个值描述需要成功替换的 Auto Scaling 组的百分比。在成功替换此百分比,并且每个实例都被视为已完成初始化后,该操作将转换到 Successful

创建多个检查点

要创建多个检查点,请使用以下示例start-instance-refresh命令。此示例配置了一个实例刷新,它最初刷新 Auto Scaling 组的 1%。在等待 10 分钟后,它会随后刷新接下来的 19%,然后再等待 10 分钟。最后,它会刷新该组的其余部分,然后结束操作。

aws autoscaling start-instance-refresh --cli-input-json file://config.json

config.json 的内容:

{ "AutoScalingGroupName": "my-asg", "Preferences": { "InstanceWarmup": 60, "MinHealthyPercentage": 80, "CheckpointPercentages": [1,20,100], "CheckpointDelay": 600 } }
创建单个检查点

要创建单个检查点,请使用以下示例start-instance-refresh命令。此示例配置了一个实例刷新,它最初刷新 Auto Scaling 组的 20%。在等待 10 分钟后,它会随后刷新该组的其余部分,然后结束操作。

aws autoscaling start-instance-refresh --cli-input-json file://config.json

config.json 的内容:

{ "AutoScalingGroupName": "my-asg", "Preferences": { "InstanceWarmup": 60, "MinHealthyPercentage": 80, "CheckpointPercentages": [20,100], "CheckpointDelay": 600 } }
部分刷新 Auto Scaling 组

要仅替换 Auto Scaling 组的一部分然后完全停止,请使用以下示例start-instance-refresh命令。此示例配置了一个实例刷新,它最初刷新 Auto Scaling 组的 1%。在等待 10 分钟后,它会随后刷新接下来的 19%,然后结束操作。

aws autoscaling start-instance-refresh --cli-input-json file://config.json

config.json 的内容:

{ "AutoScalingGroupName": "my-asg", "Preferences": { "InstanceWarmup": 60, "MinHealthyPercentage": 80, "CheckpointPercentages": [1,20], "CheckpointDelay": 600 } }