创建目标跟踪扩缩策略 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建目标跟踪扩缩策略

要为您的 Auto Scaling 组创建目标跟踪扩展策略,请使用以下方法之一。

在开始操作之前,请确认您的首选指标每隔 1 分钟可用(而 Amazon EC2 指标的默认间隔为 5 分钟)。

Console
为新的自动扩缩组创建目标跟踪扩展策略
  1. 访问 https://console.aws.amazon.com/ec2/,打开 Amazon EC2 控制台,然后从导航窗格中选择 Auto Scaling Groups(Auto Scaling 组)。

  2. 选择 Create Auto Scaling group(创建 Auto Scaling 组)。

  3. 在步骤 1、2 和 3 中,根据需要选择选项,然后继续步骤 4:配置组大小和扩缩策略

  4. 扩缩下,通过更新最小容量最大容量来指定您想要在其间扩缩的范围。这两个设置允许您的 Auto Scaling 组动态扩缩。有关更多信息,请参阅 为自动扩缩组设置扩缩限制

  5. 自动扩缩下,选择目标跟踪扩缩策略

  6. 要定义策略,请执行以下操作:

    1. 指定策略的名称。

    2. 对于 Metric type(指标类型), 选择一个指标。

      如果您选择了每个目标的 Application Load Balancer 请求计数,请在目标组中选择目标组。

    3. 为指标指定 Target value(目标值)。

    4. (可选)对于实例预热,根据需要更新实例预热值。

    5. (可选)选择 Disable scale in to create only a scale-out policy(禁用缩减以创建仅扩展策略)。这样,可以根据需要创建独立的其他类型的缩减策略。

  7. 继续创建 Auto Scaling 组。您的扩展策略将在创建 Auto Scaling 组后创建。

为现有 Auto Scaling 组创建目标跟踪扩展策略
  1. 访问 https://console.aws.amazon.com/ec2/,打开 Amazon EC2 控制台,然后从导航窗格中选择 Auto Scaling Groups(Auto Scaling 组)。

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

    这时将在页面底部打开一个拆分窗格。

  3. 验证是否正确设置了扩缩限制。例如,如果您的组所需的容量已经是最大,则指定一个新的最大值才能向外扩展。有关更多信息,请参阅 为自动扩缩组设置扩缩限制

  4. Automatic scaling(自动扩展)选项卡的 Dynamic scaling policies(动态扩展策略)中,选择 Create dynamic scaling policy(创建动态扩展策略)。

  5. 要定义策略,请执行以下操作:

    1. 对于 策略类型,保留默认的 目标跟踪扩展

    2. 指定策略的名称。

    3. 对于 Metric type(指标类型), 选择一个指标。您只能选择一种指标类型。要使用多个指标,请创建多个策略。

      如果您选择了每个目标的 Application Load Balancer 请求计数,请在目标组中选择目标组。

    4. 为指标指定 Target value(目标值)。

    5. (可选)对于实例预热,根据需要更新实例预热值。

    6. (可选)选择 Disable scale in to create only a scale-out policy(禁用缩减以创建仅扩展策略)。这样,可以根据需要创建独立的其他类型的缩减策略。

  6. 选择创建

Amazon CLI

要创建目标跟踪扩展策略,您可以使用以下示例来帮助您入门。将每个用户输入占位符替换为您自己的信息。

注意

有关更多示例,请参阅的扩展策略示例 Amazon CLI

创建目标跟踪扩缩策略(Amazon CLI)
  1. 使用以下cat命令将扩展策略的目标值和预定义的指标规范存储在主目录中名为config.json的 JSON 文件中。以下是将平均 CPU 利用率保持在 50% 的目标跟踪配置示例。

    $ cat ~/config.json { "TargetValue": 50.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ASGAverageCPUUtilization" } }

    有关更多信息,请参阅 PredefinedMetricSpecificationAmazon EC2 Auto Scaling API 参考中的。

  2. 使用put-scaling-policy命令以及您在上一步中创建config.json的文件来创建您的扩展策略。

    aws autoscaling put-scaling-policy --policy-name cpu50-target-tracking-scaling-policy \ --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \ --target-tracking-configuration file://config.json

    如果成功,此命令将返回代表您创建的两个 CloudWatch 警报的 ARN 和名称。

    { "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:228f02c2-c665-4bfd-aaac-8b04080bea3c:autoScalingGroupName/my-asg:policyName/cpu50-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e", "AlarmName": "TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e" }, { "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2", "AlarmName": "TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2" } ] }