Amazon EC2 Auto Scaling グループでのスケーリングの問題をトラブルシューティングする方法を教えてください。

最終更新日: 2018 年 5 月 31 日

Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling グループが正しくスケーリングしていません。これを解決するにはどうすればよいですか?

解決方法

表示されているスケーリングの問題に応じて、Amazon EC2 Auto Scaling の設定で以下のチェックを実行してください。

Amazon EC2 Auto Scaling グループが、設定したスケーリングポリシーに従っていない

スケーリングポリシーをチェックして、ひとつのイベントが複数のポリシーをトリガーしているかどうかを確認します。2 つのポリシーを同時に実行すると、Amazon EC2 Auto Scaling はより大きな影響を与えるポリシーに従います。たとえば、2 つのインスタンスを追加するポリシーと、4 つのインスタンスを追加するポリシーがある場合、Amazon EC2 Auto Scaling は、この両方のポリシーが同時にトリガーされた場合には 4 つのインスタンスを追加します。

Amazon EC2 Auto Scaling グループがスケールインではなくスケールアウトしている

スケールアウトポリシーとスケールインポリシーが同時にトリガーされるかどうかを確認します。スケールアウトポリシーとスケールインポリシーが同時にトリガーされると、Amazon EC2 Auto Scaling はスケールアウトポリシーに従ってアベイラビリティーを確認します。

スケールアウトポリシーとスケールインポリシーが同時にトリガーされるかどうかを確認するには、次の手順を実行します:

  • Amazon CloudWatch コンソール からアラーム履歴を確認して、関連付けられた 2 つのアラームが同時にトリガーされたかどうかを確認します。
  • Amazon EC2 コンソールから Auto Scaling グループのアクティビティ履歴を確認して、関連付けられたアクションとスケジュールされたアクションが同時にトリガーされたかどうかを確認します。

Amazon EC2 Auto Scaling グループが CloudWatch アラームまたはヘルスチェックの置き換えに応答していない

  • Auto Scaling グループがインスタンスの最小数または最大数に達しているかどうかを確認します。指定された最小容量または最大容量を確認するには、Amazon EC2 コンソールを使用して Amazon EC2 Auto Scaling グループの詳細を確認します。最小容量または最大容量のためにスケーリングがブロックされた場合、Amazon EC2 Auto Scaling はグループのアクティビティ履歴にエラーメッセージを表示しません。
  • Auto Scaling グループの中断されたプロセスを確認します。終了、起動、またはアラーム通知プロセスが中断されている場合、Amazon EC2 Auto Scaling は CloudWatch スケーリングポリシーを実行できません。ReplaceUnhealthy プロセスまたはヘルスチェックプロセスが中断された場合、Amazon EC2 Auto Scaling はヘルスチェックの置換を実行できません。
  • 単純なスケーリングポリシーを使用している場合は、インスタンスがクールダウン期間内にあるかどうかを確認します。シンプルなスケーリングポリシーは、クールダウン期間が終了するまで中断されます。
  • ステップスケーリングポリシーまたはターゲットトラッキングポリシーを使用している場合は、インスタンスのウォームアップが進行中かどうかを確認します。ウォームアップ時間を指定した場合、インスタンスはウォームアップ後までは Auto Scaling グループのメトリックスにカウントされません。
  • CloudWatch アラームをチェックして、スケーリングアクティビティが正しくトリガーされていることを確認します。詳細については Amazon CloudWatch アラームによって Auto Scaling グループのスケーリングがトリガーされるようにする方法を参照してください。
  • Amazon EC2 Auto Scaling グループにライフサイクルフック が設定されているかどうかを確認します。ライフサイクルフックがある場合は、ライフサイクルフックを完了するか、タイムアウト期間が終了するまで待機する必要があります。詳細については、次のセクション「スケーリングアクティビティ中に、インスタンスが Pending:Wait または Terminating:Wait に留まってしまう」を参照してください。

スケーリングアクティビティ中に、インスタンスが Pending:Wait またはr Terminating:Wait に留まってしまう

Amazon EC2 Auto Scaling グループの ライフサイクルフック を設定した場合、インスタンスは Pending:Wait または Terminating:Wait ステートで一時停止されることがあります。ステップスケーリングポリシーを除いて、他のスケーリングアクティビティは、インスタンスが Pending:Wait または Terminating:Wait ステートから離れるまで中断されます。

ライフサイクルフックが設定されているかどうかを判断するには、次の AWS コマンドラインインターフェイス (AWS CLI) コマンドを実行します:

aws autoscaling describe-lifecycle-hooks --auto-scaling-group-name my-asg-name

スケーリングプロセスを続行するには、タイムアウト期間が終了するのを待つ (デフォルトでは 1 時間) か、ライフサイクルフックを完了します

Amazon EC2 Auto Scaling グループがスケジュールされたアクションに応答しない

  • スケジュールされたアクションに対して設定したタイムゾーンを確認します。協定世界時 (UTC) でアクションをスケジュールする必要があります。
  • Amazon EC2 コンソール から Amazon EC2 Auto Scaling グループのアクティビティ履歴を確認し、スケジュールされたアクションと競合するスケーリングアクティビティがあるかどうかを確認します。
  • スケールアウトアクションとスケールインアクションをスケジュールしている場合は、ひとつのアクションをスケールアウトに、別のアクションをスケールインにスケジュールしていることを確認してください。スケジュールされた同じアクションをスケールインとスケールアウトの両方に使用することはできません。

Amazon EC2 インスタンスのクォータに達した

EC2 インスタンスのクォータが原因で Amazon EC2 Auto Scaling グループがスケーリングされていない場合は、次のようなメッセージが表示されます:

Launching a new EC2 instance. Status Reason: Your quota allows for 0 more running instance(s).
You requested at least 1. Launching EC2 instance failed.

クォータを引き上げるには、AWS サポートにお問い合わせください。詳細については、AWS service quotasを参照してください。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?