Amazon EC2 Auto Scaling グループの一部である Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの問題をトラブルシューティングしたいと考えています。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
EC2 Auto Scaling グループの EC2 インスタンスが InService 状態の場合、インスタンスを停止、起動、再起動することはできません。終了できるのはインスタンスのみです。
EC2 Auto Scaling グループ内のインスタンスを停止、起動、再起動、トラブルシューティングするには、次のいずれかの方法を使用します。
Auto Scaling グループからインスタンスを一時的に削除する
Auto Scaling グループからインスタンスを削除して更新やトラブルシューティングを行うには、インスタンスの状態を InService から Standby に変更します。
Auto Scaling グループからインスタンスをデタッチする
Auto Scaling グループからインスタンスをデタッチすると、インスタンスが独立し、トラブルシューティングの操作を実行できるようになります。インスタンスのトラブルシューティングを行った後、インスタンスを Auto Scaling グループに再アタッチします。
終了プロセスとヘルスチェックプロセスを一時停止する
終了プロセスとヘルスチェックプロセスを一時的に停止し、Auto Scaling グループがステータスチェックに失敗したインスタンスを終了しないようにします。
Amazon EC2 コンソールを使用してプロセスを停止するには、次の手順を実行します。
- Amazon EC2 コンソールを開きます。
- ナビゲーションペインで、[Auto Scaling グループ] を選択します。
- 影響を受けるインスタンスがある Auto Scaling グループを選択します。
- [編集] を選択します。
- [詳細設定] の [停止されたプロセス] で、[終了] と [ヘルスチェック] を選択します。
重要: 終了プロセスとヘルスチェックプロセスの両方を停止する必要があります。[ヘルスチェック] を選択しない場合、インスタンスを停止または再起動すると問題が発生します。このシナリオでは、終了プロセスを再開すると、ヘルスチェックが失敗したため、EC2 Auto Scaling がインスタンスを置き換えます。
- [更新] を選択します。
- トラブルシューティングまたは更新の操作を実行します。
- [Auto Scaling グループ] ページに戻ります。
- 影響を受けるインスタンスがある Auto Scaling グループを選択します。
- [編集] を選択します。
- [停止されたプロセス] で、[終了] と [ヘルスチェック] をオフにします。
- [更新] を選択します。
AWS CLI を使用してプロセスを停止するには、次のステップを実行します。
- EC2 Auto Scaling プロセスを停止するには、次の suspend-processes コマンドを実行します。
aws autoscaling suspend-processes --auto-scaling-group-name autoscalinggroupname --scaling-processes Terminate HealthCheck
注: autoscalinggroupname を EC2 Auto Scaling グループの名前に置き換えます。
- トラブルシューティングまたは更新の操作を実行します。
- プロセスを再開するには、次の resume-processes コマンドを実行します。
aws autoscaling resume-processes --auto-scaling-group-name autoscalinggroupname --scaling-processes Terminate HealthCheck
注: autoscalinggroupname を EC2 Auto Scaling グループの名前に置き換えます。
関連情報
Amazon EC2 Auto Scaling プロセスの中断と再開