スケールアウト用のステップスケーリングポリシーを作成する - Amazon EC2 Auto Scaling

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

スケールアウト用のステップスケーリングポリシーを作成する

Auto Scaling グループのスケールアウト用のステップスケーリングポリシーを作成するには、次のいずれかの方法を使用します。

Console
ステップ 1: メトリクスの上限しきい値の CloudWatch アラームを作成する
  1. https://console.aws.amazon.com/cloudwatch/ で CloudWatch コンソールを開きます。

  2. 必要に応じて、リージョンを変更します。ナビゲーションバーから、Auto Scaling グループがあるリージョンを選択します。

  3. ナビゲーションペインで、[Alarms]、[All alarms] (アラーム、すべてのアラーム) の順に選択してから、[Create alarm] (アラームの作成) を選択します。

  4. [メトリクスの選択] を選択します。

  5. [All metrics (すべてのメトリクス)] タブで、[EC2]、[By Auto Scaling Group (Auto Scaling グループ別)] を選択し、検索フィールドに Auto Scaling グループの名前を入力します。次に、CPUUtilization を選択し、[メトリクスの選択] を選択します。[Specify metric and conditions] ページに、メトリクスに関するグラフや他の情報が表示されます。

  6. [期間] でアラームの評価期間 (1 分など) を選択します。アラームを評価する場合、各期間は 1 つのデータポイントに集約されます。

    注記

    期間が短いほど、作成されるアラームの感度が高くなります。

  7. [条件] で、次の操作を行います。

    • [Threshold type] で [静的] を選択します。

    • Whenever CPUUtilizationの場合、メトリクスの値がしきい値以上になるようにアラームを超過するかどうかを指定します。次に、[than] (次よりも:) にアラーム違反のしきい値を入力します。

      重要

      スケールアウトポリシー (メトリクス高) で使用するアラームについては、しきい値に対して [less than] (次未満:)、または [less than or equal to] (次以下:) を選択しないようにします。

  8. [追加設定] で、次の操作を行います。

    • [Datapoints to alarm] (アラームへのデータポイント)に、メトリクス値がしきい値を満たす必要があるデータポイント数 (評価期間) を入力します。例えば、5 分の期間が 2 回連続すると、アラームの状態が呼び出されるまで 10 分かかります。

    • [Missing data treatment (欠落データの処理)] では、[Treat missing data as bad (breaching threshold) (欠落データを問題として処理する (しきい値を超過))] を選択します。詳細については、「Amazon ユーザーガイド」の CloudWatch 「アラームが欠落データを処理する方法の設定」を参照してください。 CloudWatch

  9. [次へ] をクリックします。

    [Configure actions] (アクションの設定) ページが表示されます。

  10. [通知] で、アラームが ALARM 状態、OK 状態、または INSUFFICIENT_DATA 状態のときに通知するための Amazon SNS トピックを選択します。

    同じアラーム状態または複数の異なるアラーム状態について複数の通知を送信するには、[Add notification (通知の追加)] を選択します。

    アラームの通知を送信しない場合は、 [削除] を選択します。

  11. Configure actions (アクションの設定) ページの他のセクションは空にしたままにすることができます。他のセクションを空のままにすると、スケーリングポリシーへの関連付けなしでアラームが作成されます。その後、Amazon EC2 Auto Scaling コンソールから、アラームをスケーリングポリシーに関連付けることができます。

  12. [次へ] をクリックします。

  13. 名前 (Step-Scaling-AlarmHigh-AddCapacity など) を入力し、必要に応じてアラームの説明を入力して [次へ] を選択します。

  14. [アラームを作成] を選択します。

CloudWatch アラームの作成後に中断した場所を続行するには、次の手順に従います。

ステップ 2: スケールアウト用のステップスケーリングポリシーを作成する
  1. https://console.aws.amazon.com/ec2/ でAmazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling グループ] を選択します。

  2. Auto Scaling グループの横にあるチェックボックスを選択します。

    ページの下部にスプリットペインが開きます。

  3. スケーリング制限が適切に設定されていることを確認します。例えば、グループの希望する容量がすでに最大値に達している場合は、スケールアウトするために新しい最大値を指定する必要があります。詳細については、「Auto Scaling グループのスケーリング制限を設定する」を参照してください。

  4. [Automatic scaling] (オートスケーリング) タブの [Dynamic scaling policies] (動的スケーリングポリシー) で、[Create dynamic scaling] (動的スケーリングポリシーの作成) を選択します。

  5. ポリシータイプ で、ステップスケーリング を選択し、ポリシーの名前を指定します。

  6. CloudWatch アラーム で、アラームを選択します。アラームをまだ作成していない場合は、 CloudWatch アラームの作成を選択し、前の手順のステップ 4 からステップ 14 を完了してアラームを作成します。

  7. [Take the action (このアクションを実行)] を使用して、このポリシーの実行時に行う現在のグループサイズの変更を指定します。特定の数のインスタンスまたは既存のグループサイズに対する割合を追加したり、グループを正確なサイズに設定したりできます。

    例えば、グループの容量を 30% 増やすスケールアウトポリシーを作成するには、 を選択しAdd30次のフィールドに と入力してから、 を選択しますpercent of group。デフォルトでは、このステップ調整値の下限はアラームしきい値であり、上限は正 (+) の無限大です。

  8. 別のステップを追加するには、[Add step (ステップの追加)] を選択し、スケールする量と、アラームしきい値に対するステップの下限と上限を定義します。

  9. 最小数のインスタンスを設定してスケールするには、[Add capacity units in increments of at least (最小数の増分でキャパシティーユニットを追加する)] 1 [capacity units (キャパシティーユニット)] の数値フィールドをアップデートします。

  10. (オプション) インスタンスのウォームアップ で、必要に応じてインスタンスのウォームアップ値を更新します。

  11. [作成] を選択します。

AWS CLI

スケールアウト (容量を増やす) 用のステップスケーリングポリシーを作成するには、次のコマンド例を使用できます。各ユーザー入力プレースホルダーを独自の情報に置き換えます。

を使用するときは AWS CLI、まず、メトリクスの値が増えたときにスケールアウトする方法を Amazon EC2 Auto Scaling に指示するステップスケーリングポリシーを作成します。次に、監視するメトリクスを特定し、アラームのメトリクス上限しきい値やその他の詳細を定義し、アラームをスケーリングポリシーに関連付けることでアラームを作成します。

ステップ 1: スケールアウト用のポリシーを作成する

次のput-scaling-policyコマンドを使用して、 という名前のステップスケーリングポリシーを作成します。調整タイプは でmy-step-scale-out-policy、次のステップの調整 ( CloudWatch アラームしきい値PercentChangeInCapacityを 60% と仮定) に基づいてグループの容量を増やします。

  • メトリクスの値が 60% 以上、75% 未満の場合は、インスタンス数を 10% 増やします。

  • メトリクスの値が 75% 以上、85% 未満の場合は、インスタンス数を 20% 増やします。

  • メトリクスの値が 85% 以上の場合は、インスタンス数を 30% 増やします。

aws autoscaling put-scaling-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-out-policy \ --policy-type StepScaling \ --adjustment-type PercentChangeInCapacity \ --metric-aggregation-type Average \ --step-adjustments MetricIntervalLowerBound=0.0,MetricIntervalUpperBound=15.0,ScalingAdjustment=10 \ MetricIntervalLowerBound=15.0,MetricIntervalUpperBound=25.0,ScalingAdjustment=20 \ MetricIntervalLowerBound=25.0,ScalingAdjustment=30 \ --min-adjustment-magnitude 1

ポリシーの Amazon リソースネーム (ARN) を記録します。ポリシーの CloudWatch アラームを作成するには、これが必要です。

{ "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:4ee9e543-86b5-4121-b53b-aa4c23b5bbcc:autoScalingGroupName/my-asg:policyName/my-step-scale-in-policy }
ステップ 2: メトリクス上限しきい値の CloudWatch アラームを作成する

次の CloudWatch put-metric-alarmコマンドを使用して、2 分間の連続した 2 つの評価期間の平均 CPU しきい値 60% に基づいて Auto Scaling グループのサイズを増やすアラームを作成します。独自のカスタムメトリクスを使用するには、名前を --metric-name で指定し、その名前空間を --namespace で指定します。

aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-AddCapacity \ --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average \ --period 120 --evaluation-periods 2 --threshold 60 \ --comparison-operator GreaterThanOrEqualToThreshold \ --dimensions "Name=AutoScalingGroupName,Value=my-asg" \ --alarm-actions PolicyARN