

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

# スケールイン用のステップスケーリングポリシーを作成する
<a name="step-scaling-create-scale-in-policy"></a>

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

------
#### [ Console ]

**ステップ 1: メトリクスの下限しきい値の CloudWatch アラームを作成する**

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

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

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

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

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

1. [期間] でアラームの評価期間 (1 分など) を選択します。****アラームを評価する場合、各期間は 1 つのデータポイントに集約されます。
**注記**  
期間が短いほど、作成されるアラームの感度が高くなります。

1. **[条件]** で、次の操作を行います。
   + [**Threshold type**] で [**静的**] を選択します。
   + **[`CPUUtilization` が次の場合]** で、アラーム違反のしきい値に対するメトリクスの値を [より低い] または [以下] のいずれかに指定します。次に、**[than]** (次よりも:) にアラーム違反のしきい値を入力します。
**重要**  
スケールインポリシー (メトリクス低) で使用するアラームについては、しきい値に対して [より高い] や [以上] を選択しないようにします。

1. [**追加設定**] で、次の操作を行います。
   + [**Datapoints to alarm**] (アラームへのデータポイント)に、メトリクス値がしきい値を満たす必要があるデータポイント数 (評価期間) を入力します。例えば、5 分の期間が 2 回連続すると、アラームの状態が呼び出されるまで 10 分かかります。
   + [**Missing data treatment (欠落データの処理)**] では、[**Treat missing data as bad (breaching threshold) (欠落データを問題として処理する (しきい値を超過))**] を選択します。詳細については、*Amazon CloudWatch ユーザーガイド*の「[CloudWatch アラームが欠落データを処理する方法の設定](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data)」を参照してください。

1. [**次へ**] を選択します。

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

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

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

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

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

1. [**次へ**] を選択します。

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

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

CloudWatch アラームを作成したら、以下の手順に従って、中断していた作業を続行します。

**ステップ 2: スケールイン用のステップスケーリングポリシーを作成する**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) でAmazon EC2 コンソールを開き、ナビゲーションペインで [**Auto Scaling グループ**] を選択します。

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

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

1. スケーリング制限が適切に設定されていることを検証します。例えば、グループの希望するキャパシティが既に最小に達している場合は、スケールインするために新しい最小を指定する必要があります。詳細については、「[Auto Scaling グループのスケーリング制限を設定する](asg-capacity-limits.md)」を参照してください。

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

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

1. [**CloudWatch アラーム**] でアラームを選択します。アラームをまだ作成していない場合は、**[CloudWatch アラームを作成する]** を選択し、前の手順のステップ 4 からステップ 14 を実行して、アラームを作成します。

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

   例えば、グループのキャパシティを 2 インスタンス減らすスケールインポリシーを作成するには、[`Remove`] を選択し、次のフィールドに「`2`」を入力後 [`capacity units`] を選択します。デフォルトでは、このステップ調整値の上限はアラームしきい値であり、下限は負 (-) の無限大です。

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

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

------
#### [ AWS CLI ]

スケールイン (キャパシティを減らす) 用のステップスケーリングポリシーを作成するには、次のコマンド例を使用します。各*ユーザー入力プレースホルダー*を独自の情報に置き換えます。

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

**ステップ 1: スケールイン用のポリシーを作成する**  
以下の [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html) コマンドを使用して `my-step-scale-in-policy` という名前のステップスケーリングポリシーを作成し、関連する CloudWatch アラームがメトリクスのしきい値の下限を超えた場合に、調整タイプ `ChangeInCapacity` を使用して 2 つのインスタンスでグループのキャパシティーを減らします。

```
aws autoscaling put-scaling-policy \
  --auto-scaling-group-name my-asg  \
  --policy-name my-step-scale-in-policy \
  --policy-type StepScaling \
  --adjustment-type ChangeInCapacity \
  --step-adjustments MetricIntervalUpperBound=0.0,ScalingAdjustment=-2
```

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

```
{
    "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:autoScalingGroupName/my-asg:policyName/my-step-scale-out-policy
}
```

**ステップ 2: メトリクスの下限しきい値の CloudWatch アラームを作成する**  
以下の CloudWatch [put-metric-alarm](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/put-metric-alarm.html) コマンドを使用して、2 分間の連続した 2 つの評価期間にわたって平均 CPU しきい値 40% に基づいて Auto Scaling グループのサイズを減らすアラームを作成します。独自のカスタムメトリクスを使用するには、名前を `--metric-name` で指定し、その名前空間を `--namespace` で指定します。

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

------