Amazon EC2 Auto Scaling インスタンスのライフサイクル - Amazon EC2 Auto Scaling

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

Amazon EC2 Auto Scaling インスタンスのライフサイクル

Auto Scaling グループのEC2インスタンスには、他のEC2インスタンスとは異なるパスまたはライフサイクルがあります。Auto Scaling グループがインスタンスを起動すると、ライフサイクルが起動してサービスに組み込まれます。インスタンスを削除するとライフサイクルが終了するか、または Auto Scaling グループがインスタンスをサービスから削除して終了します。

注記

インスタンスが起動すると、サービスを使用していなくてもすぐに課金されます。

次の図は、Amazon EC2 Auto Scaling ライフサイクルのインスタンス状態間の移行を示しています。

Auto Scaling グループ内のインスタンスのライフサイクル。

スケールアウト

次のスケールアウトイベントは、Auto Scaling グループにEC2インスタンスを起動してグループにアタッチするように指示します。

スケールアウトイベントが発生すると、Auto Scaling グループは割り当てられた起動テンプレートを使用して必要な数のEC2インスタンスを起動します。これらのインスタンスは Pending 状態で起動します。ライフサイクルフックを Auto Scaling グループに追加する場合は、ここでカスタムアクションを実行できます。詳細については、「ライフサイクルフック」を参照してください。

各インスタンスが完全に設定され、Amazon EC2ヘルスチェックに合格すると、Auto Scaling グループにアタッチされ、 InService状態になります。インスタンスは、Auto Scaling グループで必要なキャパシティにカウントされます。

Auto Scaling グループが Elastic Load Balancing ロードバランサーからトラフィックを受信するように設定されている場合、Amazon EC2 Auto Scaling はインスタンスを としてマークする前に、インスタンスをロードバランサーに自動的に登録しますInService

スケールアウトイベントのロードバランサーにインスタンスを登録する手順を以下に示します。

スケールアウトイベントの概要図。

インスタンスが実行中

以下のいずれかが発生するまで、インスタンスは InService 状態のままとなります。

スケールイン

次のスケールインイベントは、Auto Scaling グループにグループからEC2インスタンスをデタッチして終了するように指示します。

作成したそれぞれのスケールアウトイベントについて、対応するスケールインイベントを作成することが重要です。これにより、アプリケーションに割り当てられたリソースが、それらのリソースに対する要求に可能な限り厳密に対応するようになります。

スケールインイベントが発生すると、Auto Scaling グループは 1 つ以上のインスタンスをデタッチします。Auto Scaling グループは終了ポリシーを使用して、終了するインスタンスを決定します。Auto Scaling グループからの終了のプロセス中にあるインスタンスは、Terminating 状態に移行し、稼働状態に戻ることはできません。

Auto Scaling グループが Elastic Load Balancing ロードバランサーからトラフィックを受信するように設定されている場合、Amazon EC2 Auto Scaling はロードバランサーから終了インスタンスを自動的に登録解除します。インスタンスの登録を解除すると、新しいリクエストはすべてロードバランサーのターゲットグループ内の他のインスタンスにリダイレクトされ、インスタンスへの既存の接続は登録解除の遅延の期限が切れるまで継続できます。

ライフサイクルフックを Auto Scaling グループに追加する場合は、終了するインスタンスに対してカスタムアクションを実行できます。詳細については、「ライフサイクルフック」を参照してください。最後に、インスタンスは完全に終了し Terminated 状態へ移行します。

スケールインイベントのロードバランサーでインスタンスを登録解除する手順を以下に示します。

スケールインイベントの概要図。

インスタンスのデタッチ

Auto Scaling グループからインスタンスをデタッチできます。インスタンスをデタッチした後で、インスタンスを Auto Scaling グループとは別に管理するか、または別の Auto Scaling グループにアタッチできます。

詳細については、「Auto Scaling グループからインスタンスをデタッチまたはアタッチする」を参照してください。

インスタンスのアタッチ

特定の条件を満たす実行中のEC2インスタンスを Auto Scaling グループにアタッチできます。インスタンスがアタッチされると、Auto Scaling グループの一部として管理されます。

詳細については、「Auto Scaling グループからインスタンスをデタッチまたはアタッチする」を参照してください。

ライフサイクルフック

インスタンスを起動または終了したときにカスタムアクションを実行できるように、ライフサイクルフックを Auto Scaling グループに追加できます。

Amazon EC2 Auto Scaling がスケールアウトイベントに応答すると、1 つ以上のインスタンスを起動します。これらのインスタンスは Pending 状態で起動します。Auto Scaling グループに autoscaling:EC2_INSTANCE_LAUNCHING ライフサイクルフックを追加すると、インスタンスは Pending 状態から Pending:Wait 状態に移行します。ライフサイクルアクションを完了したら、インスタンスは Pending:Proceed 状態に移行します。インスタンスが完全に設定されると、Auto Scaling グループにアタッチされて InService 状態へ移行します。

Amazon EC2 Auto Scaling がスケールインイベントに応答すると、1 つ以上のインスタンスが終了します。これらのインスタンスは Auto Scaling グループからデタッチされ Terminating 状態へ移行します。Auto Scaling グループに autoscaling:EC2_INSTANCE_TERMINATING ライフサイクルフックを追加すると、インスタンスは Terminating 状態から Terminating:Wait 状態に移行します。ライフサイクルアクションを完了したら、インスタンスは Terminating:Proceed 状態に移行します。インスタンスが完全に終了すると、Terminated 状態へ移行します。

詳細については、「Amazon EC2 Auto Scaling のライフサイクルフック」を参照してください。

スタンバイを入力し終了します。

InService 状態にあるインスタンスを、Standby 状態に移行できます。これによりインスタンスをサービスから削除し、トラブルシューティングや変更を加えてから、サービスに戻すことができます。

Standby状態のインスタンスは引き続き Auto Scaling グループによって管理されます。ただし、このようなインスタンスを稼働状態に戻すまで、それらはアプリケーションのアクティブな部分にはなりません。

詳細については、「Auto Scaling グループからインスタンスを一時的に削除する」を参照してください。