翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EC2 Auto Scaling プロセスの一時停止と再開
このトピックでは、Auto Scaling グループの 1 つ以上のプロセスを一時停止して再開し、特定のオペレーションを一時的に無効にする方法について説明します。
プロセスの停止は、スケーリングポリシーやスケジュールされたアクションの干渉なしに問題を調査またはトラブルシューティングする必要がある場合に役立ちます。また、Auto Scaling グループを変更している間にAmazon EC2 Auto Scaling がインスタンスを異常とマークして置き換えるのを防ぐこともできます。
注記
Auto Scaling グループのプロセスは、お客様が中断するだけでなく、インスタンスの起動に繰り返し失敗するという理由で Amazon EC2 Auto Scaling によって中断されることもあります。これは、管理上の中断と呼ばれます。管理上の中断は一般に、24 時間以上インスタンスの起動を試みているが、インスタンスの起動に成功しない Auto Scaling グループに適用されます。管理上の理由で Amazon EC2 Auto Scaling によって中断されたプロセスは、お客様が再開できます。
プロセスのタイプ
中断/再開機能は、以下のプロセスをサポートします。
-
Launch
– グループがスケールアウトしたとき、または Amazon EC2 Auto Scaling がウォームプールにインスタンスを追加するときなど、他の理由でインスタンスを起動することを選択した場合に、Auto Scaling グループにインスタンスを追加します。 Auto Scaling -
Terminate
– グループがスケールインするとき、または Amazon EC2 Auto Scaling が最大存続期間を超えたためにインスタンスが終了したり、ヘルスチェックに失敗したりするなどの理由でインスタンスを終了することを選択した場合に、Auto Scaling グループからインスタンスを削除します。 Auto Scaling -
AddToLoadBalancer
– インスタンスが起動されたときに、アタッチされたロードバランサーターゲットグループまたは Classic Load Balancer にインスタンスを追加します。詳細については、「Elastic Load Balancing を使用して Auto Scaling グループ内のインスタンス全体にトラフィックを分散させる」を参照してください。 -
AlarmNotification
– 動的スケーリングポリシーに関連付けられているアラームからの CloudWatch通知を受け入れます。詳細については、「Amazon EC2 Auto Scaling の動的スケーリング」を参照してください。 -
AZRebalance
– 以前に使用できなかったアベイラビリティーゾーンが正常な状態に戻った場合など、グループが不均衡になったときに、指定されたすべてのアベイラビリティーゾーンにわたってグループ内の EC2 インスタンスの数を均等に分散します。詳細については、「アクティビティの再分散」を参照してください。 -
HealthCheck
— Amazon EC2 または Elastic Load Balancing がインスタンスに異常があることを Amazon EC2 Auto Scaling に指示した場合、インスタンスの状態をチェックし、インスタンスを異常としてマークします。このプロセスは、手動で設定したインスタンスのヘルス ステータスをオーバーライドできます。詳細については、「Auto Scaling グループ内のインスタンスのヘルスチェック」を参照してください。 -
InstanceRefresh
– インスタンスの更新機能を使用してインスタンスを終了して置き換えます。詳細については、「インスタンスの更新を使用して Auto Scaling グループのインスタンスを更新する」を参照してください。 -
ReplaceUnhealthy
– 異常とマークされたインスタンスを終了し、新しいインスタンスを作成して置き換えます。詳細については、「Auto Scaling グループ内のインスタンスのヘルスチェック」を参照してください。 -
ScheduledActions
– スケーリングプランを作成し、予測スケーリングを有効にするときに、作成した、または自動的に作成されたスケジュールされた AWS Auto Scaling スケーリングアクションを実行します。詳細については、「Amazon EC2 Auto Scaling のスケジュールされたスケーリング」を参照してください。
考慮事項
プロセスを中断する前に、以下を考慮してください。
-
一時停止
AlarmNotification
すると、スケーリングポリシーまたは関連する CloudWatch アラームを削除せずに、グループのターゲット追跡、ステップ、および簡易スケーリングポリシーを一時的に停止できます。その代わりに個々のスケーリングポリシーを一時的に停止するには、「Auto Scaling グループのスケーリングポリシーを無効化する」を参照してください。 -
Amazon EC2 Auto Scaling がヘルスチェックに基づいてインスタンスを終了せずに、インスタンスを再起動する
HealthCheck
およびReplaceUnhealthy
プロセスを停止することもできます。ただし、Amazon EC2 Auto Scaling で残りのインスタンスのヘルスチェックを引き続き実行する必要がある場合は、代わりにスタンバイ機能を使用してください。詳細については、「Auto Scaling グループからインスタンスを一時的に削除する」を参照してください。 -
Launch
プロセスとTerminate
プロセス、またはAZRebalance
を中断してから、インスタンスのデタッチ、または指定されたアベイラビリティーゾーンの変更などで Auto Scaling グループを変更すると、アベイラビリティーゾーン間でのグループのバランスが悪くなる可能性があります。その場合は、中断されたプロセスの再開後、Amazon EC2 Auto Scaling が徐々に、インスタンスをアベイラビリティーゾーン間で均等に再分散します。 -
Terminate
プロセスを停止しても、force delete オプションを指定して delete-auto-scaling-group コマンドを使用することで、インスタンスを強制的に終了できます。 -
Terminate
プロセスの停止は、現在InService
状態にあるインスタンスにのみ適用されます。など、他の状態のインスタンスPending
や、スタンバイから適切に再開できないインスタンスの終了を防ぐことはできません。 -
AWS CLI または SDKs を使用して Auto Scaling グループを記述する呼び出しに存在する場合、
RemoveFromLoadBalancerLowPriority
このプロセスは無視できます。このプロセスは非推奨で後方互換性のためにのみ保持されています。
プロセスを中断する
Auto Scaling グループのプロセスを停止するには、次のいずれかの方法を使用します。
プロセスを再開する
Auto Scaling グループの中断されたプロセスを再開するには、次のいずれかの方法を使用します。
中断されたプロセスが他のプロセスに与える影響
以下のセクションでは、さまざまなプロセスが個別に中断された場合に何が起こるかについて説明します。
トピック
Launch
が中断されている
-
AlarmNotification
は引き続きアクティブですが、Auto Scaling グループは、しきい値を超過した状態のアラームに対してスケールアウトアクティビティを開始できません。 -
ScheduledActions
はアクティブですが、Auto Scaling グループは、実行されるスケジュールされたアクションに対してスケールアウトアクティビティを開始できません。 -
AZRebalance
は、グループの再配分を停止します。 -
ReplaceUnhealthy
は引き続き異常なインスタンスを終了しますが、置き換えは開始しません。Launch
プロセスを再開すると、Amazon EC2 Auto Scaling は、Launch
停止中に終了されたインスタンスを直ちに置き換えます。 -
InstanceRefresh
はインスタンスを置き換えません。
Terminate
が中断されている
-
AlarmNotification
は引き続きアクティブですが、Auto Scaling グループは、しきい値を超過した状態のアラームに対してスケールインアクティビティを開始できません。 -
ScheduledActions
はアクティブですが、Auto Scaling グループは、実行されるスケジュールされたアクションに対してスケールインアクティビティを開始できません。 -
AZRebalance
はまだアクティブですが、正しく機能していません。古いインスタンスを終了せずに新しいインスタンスを起動することがあります。これにより、Auto Scaling グループがその最大サイズより 10% まで大きくなることあります。バランスの再調整アクティビティ中にこの状態が一時的に許可されるためです。Terminate
プロセスを再開するまで、Auto Scaling グループは最大サイズを超えることがあります。 -
ReplaceUnhealthy
は非アクティブですが、HealthCheck
はアクティブです。Terminate
が再開されると、ReplaceUnhealthy
プロセスはすぐに実行を開始します。Terminate
が中断されている間に異常とマークされたインスタンスがある場合、それらのインスタンスはすぐに置き換えられます。 -
InstanceRefresh
はインスタンスを置き換えません。
AddToLoadBalancer
が中断されている
-
Amazon EC2 Auto Scaling はインスタンスを起動しますが、ロードバランサーターゲットグループまたは Classic Load Balancer に追加しません。
AddToLoadBalancer
プロセスを再開すると、インスタンスが起動されるときのロードバランサーへの追加が再開されます。ただし、このプロセスが中断されている間に起動されたインスタンスは追加されません。これらのインスタンスを手動で登録する必要があります。
AlarmNotification
が中断されている
-
Amazon EC2 Auto Scaling は、 CloudWatch アラームのしきい値を超えた場合、スケーリングポリシーを呼び出しません。
AlarmNotification
を再開すると、Amazon EC2 Auto Scaling はアラームしきい値に現在違反しているポリシーを処理します。
AZRebalance
が停止されている
-
Amazon EC2 Auto Scaling は、特定イベントの発生後にインスタンスの再分散を試みません。ただし、スケールアウトまたはスケールインのイベントが発生した場合でも、スケーリングプロセスはアベイラビリティーゾーン間のバランスを調整します。例えば、スケールアウト中に、インスタンスが最も少ないアベイラビリティーゾーンでインスタンスを起動します。
AZRebalance
が中断されている間にグループのバランスがとれなくなった場合、そのプロセスを再開しても、Amazon EC2 Auto Scaling はグループのバランスを再調整しようとしません。最初にLaunch
を呼び出してからTerminate
を呼び出します。
HealthCheck
が中断されている
-
Amazon EC2 Auto Scaling は、EC2 および Elastic Load Balancing のヘルスチェックの結果として、インスタンスに異常とマークしなくなります。カスタムヘルスチェックは引き続き正常に機能します。
HealthCheck
を中断した後、必要に応じて、グループ内のインスタンスのヘルス状態を手動で設定し、ReplaceUnhealthy
がそれらのインスタンスを置き換えるようにできます。
InstanceRefresh
が中断されている
-
Amazon EC2 Auto Scaling は、インスタンス更新の結果としてのインスタンスの置き換えを停止します。進行中のインスタンス更新がある場合、操作はキャンセルされず、一時停止されます。
ReplaceUnhealthy
が中断されている
-
Amazon EC2 Auto Scaling は、異常とマークされたインスタンスを置き換えなくなります。EC2 または Elastic Load Balancing のヘルスチェックに失敗したインスタンスも異常とマークされます。
ReplaceUnhealthy
プロセスを再開するとすぐに、Amazon EC2 Auto Scaling はこのプロセスが中断されている間に異常とマークされたインスタンスを置き換えます。ReplaceUnhealthy
プロセスは最初にTerminate
を呼び出し、次にLaunch
を呼び出します。
ScheduledActions
が中断されている
-
Amazon EC2 Auto Scaling は、中断期間中に実行されるようにスケジュールされたアクションを実行しません。
ScheduledActions
を再開すると、Amazon EC2 Auto Scaling は、スケジュールされたアクションのうち、実行時間が過ぎていないもののみを考慮します。
追加の考慮事項
さらに、Launch
または Terminate
が中断される場合は、以下の機能が正しく機能しない可能性があります。
-
インスタンスの最大有効期間 –
Launch
またはTerminate
が中断されている場合、インスタンスの最大有効期間機能はインスタンスを置き換えることができません。 -
スポットインスタンスの中断 –
Terminate
が中断され、Auto Scaling グループにスポットインスタンスがある場合、スポットキャパシティーが利用できなくなっても、スポットインスタンスを終了できます。Launch
が中断されている間、Amazon EC2 Auto Scaling は、別のスポットインスタンスプール、または同じスポットインスタンスプール (再度利用可能になったとき) から代替インスタンスを起動できません。 -
容量の再調整 —
Terminate
が中断され、容量の再調整を使用してスポットインスタンスの中断を処理する場合、Amazon EC2 スポットサービスは、スポット容量が使用できなくなってもインスタンスを終了できます。Launch
が中断される場合、Amazon EC2 Auto Scaling は、別のスポットインスタンスプール、または同じスポットインスタンスプール (再度利用可能になったとき) から代替インスタンスを起動できません。 -
インスタンスのアタッチとデタッチ —
Launch
とTerminate
が中断されている場合、Auto Scaling グループにアタッチされているインスタンスをデタッチできますが、 が中断されている間Launch
は、グループに新しいインスタンスをアタッチすることはできません。 -
スタンバイインスタンス -
Launch
とTerminate
が中断されている場合、インスタンスをStandby
状態にすることはできますが、Launch
が中断されている間は、Standby
状態のインスタンスをサービスに戻すことはできません。