Amazon CloudWatch アラームが Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling ポリシーをトリガーするように設定しました。CloudWatch アラームの状態が変わったときに Amazon EC2 Auto Scaling ポリシーがトリガーしないのはなぜですか?

CloudWatch アラームが新しい状態 (OK警告、またはデータ不足) に移行するとき、アラームはその状態に対して設定されているアクションを呼ばれます。Amazon EC2 Auto Scaling アクションの場合、アラームは、新しい状態に留まっている期間ごとに設定されているアクションを呼び出し続けます。

CloudWatch アラームの状態が変わったときに Amazon EC2 Auto Scaling ポリシーをトリガーしない一般的な理由は以下のとおりです。

  • Auto Scaling アクションが CloudWatch アラームに対して有効ではなく、スケーリングポリシーが呼び出されない。
  • Auto Scaling グループに競合する簡易スケーリングポリシーまたはステップスケーリングポリシーがあるため、一部のポリシーがトリガーされない。
  • Auto Scaling グループに不完全なライフサイクルがあるため、簡易スケーリングポリシーが適用されない。ライフサイクルフックは、タイムアウトしたとき、または CompleteLifecycleAction API または AWS コマンドラインインターフェイス (AWS CLI) 呼び出しが実行されたときに完了します。

開始する前に、CloudWatch アラームが警告状態に移行していることを確認してください。アラームの設定がモニタリングしているメトリクスのしきい値と一致しない場合、アラームが警告状態に移行しない可能性があります。アラームの状態が変わらない場合、Amazon EC2 Auto Scaling ポリシーをトリガーしません。CloudWatch アラームが評価される方法の詳細については、アラームを評価するを参照してください。

アラームのしきい値の値を確認して、予定どおりに CloudWatch アラームが警告状態に入ることを確認します。期待値に一致するようにしきい値を増減します。また、アラームの期間評価期間を確認します。想定どおりに Amazon EC2 Auto Scaling ポリシーをトリガーするには、アラームの期間評価期間を編集する必要がある場合があります。確実にアラームにより確実にアクションをトリガーする方法に関する詳細は、CloudWatch アラームにより確実にアクションをトリガーするにはどうすればよいですか? を参照してください。

重要: Amazon EC2 Auto Scaling グループのスケーリングプロセス (AlarmNotification起動、または終了) を停止していないことを確認してください。停止していた場合は、必ずスケーリングププロセスを再開します。

Amazon EC2 Auto Scaling アクションが CloudWatch アラームに対し有効かどうかを確認する

CloudWatch アラームが Amazon EC2 Auto Scaling ポリシーを呼び出すには、ActionsEnabled パラメータをアラームの設定で有効にする必要があります。ActionsEnabled パラメータがアラームの設定で true になっていることを確認します。

注意: CloudWatch コンソールを使用してアラームを作成または更新する場合、ActionsEnabled パラメータはデフォルトで true に設定されています。

AWS CLI を使用してアラームアクションを確認および有効化するには

1.    次のように、describe-alarms を使用して現在の設定を確認します。myalarm をアラームの ID に置き換えます。

aws cloudwatch describe-alarms --alarm-names "myalarm" --query 'MetricAlarms[].ActionsEnabled'

2.    出力を確認します。ActionsEnabled パラメータが true に設定されていない場合は、次のように enable-alarm-actions を使用してアラームアクションを有効にします。myalarm をアラームの ID に置き換えます。

aws cloudwatch enable-alarm-actions --alarm-names myalarm

CloudWatch API を使用してアラームアクションを確認および有効化するには

1.    DescribeAlarms を使用して現在の設定を確認します。

2.    アクションがアラームに対して有効でない場合は、EnableAlarmActions を使用して、アクションを有効にします。

Amazon EC2 Auto Scaling グループの簡易スケーリングおよびステップスケーリングポリシーを確認する

Amazon EC2 コンソールを使用してグループのスケーリングポリシーを確認するには

1.    [Amazon EC2 console] にサインインします。

2.    ナビゲーションペインの [Auto Scaling] で、[Auto Scaling グループ] を選択します。

3.    コンテンツペインで、Auto Scaling グループを選択します。

4.    [スケーリングポリシー] ビューを選択します。

5.    [ポリシータイプ] ([ステップスケーリング] または [簡易スケーリング]) を書き留めます。

AWS CLI を使用してスケーリングポリシーを確認するには、Auto Scaling グループの ID にコマンド describe-policies--policy-types パラメータとともに使用します。出力に各タイプ (SimpleScaling または StepScaling) のポリシーがリストアップされます。

API を使用してスケーリングポリシーを確認するには、コール DescribePolicies をパラメータ PolicyTypes と使用します。出力に各タイプ (SimpleScaling または StepScaling) のポリシーがリストアップされます。

1 つの簡易スケーリングポリシーが有効な場合、その他すべての簡易スケーリングポリシーは、以下の条件を満たすまで呼び出されません。

  • 現在有効な簡易スケーリングポリシーが完了した。
  • Amazon EC2 Auto Scaling ポリシーのクールダウン期間が経過した。簡易スケーリングポリシーが Amazon EC2 Auto Scaling ポリシーのデフォルトのクールダウン期間または指定されたクールダウン期間を優先する。

注意: 簡易スケーリングポリシーの実行は、どのステップスケーリングポリシーの実行にも影響しません。矛盾するポリシーが同時に適用されないようにしてください。

Amazon EC2 Auto Scaling ポリシーの Auto Scaling ライフサイクルフックを確認する

Auto Scaling ライフサイクルフックが有効な場合、簡易スケーリングポリシーは実行されません。Auto Scaling グループで簡易スケーリングポリシーを使用している場合は、必ずライフサイクルフックを停止します。

注意: 進行中のライフサイクルフックがあっても、ステップスケーリングポリシーはトリガーします。

グローバルタイムアウト期間またはハートビートタイムアウト期間が切れた後、すべてのライフサイクルフックが完了し、結果が [CONTINUE] または [ABANDON] であることを確認します。

Amazon EC2 コンソールを使用してライフサイクルフックアクションを確認するには

1.    [Amazon EC2 console] にサインインします。

2.    ナビゲーションペインの [Auto Scaling] で、[Auto Scaling グループ] を選択します。

3.    コンテンツペインで、Auto Scaling グループを選択します。

4.    [Activity History] ビューを選択します。

5.    実行中のライフサイクルフックアクションのアクティビティを確認します。

6.    ライフサイクルフックを終了するステップについては、ライフサイクルフックの完了を参照してください。AWS CLI を使用してライフサイクルフックアクションを完了するには、コマンド complete-lifecycle-action を使用します。API を使用してライフサイクルフックアクションを完了するには、CompleteLifecycleAction 呼び出しを行います。


このページは役に立ちましたか? はい | いいえ

AWS サポート ナレッジ センターに戻る

サポートが必要ですか? AWS サポートセンターをご覧ください。

公開日: 2018 年 12 月 26 日