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 グループで必要なキャパシティにカウントされます。

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

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


					スケールアウトイベントの大まかな図。

インスタンスが実行中

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

スケールイン

以下で、イベントを Auto Scaling グループで直接スケールインして EC2 インスタンスをグループからデタッチして、終了します。

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

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

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

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

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


					スケールインイベントの大まかな図。

インスタンスのデタッチ

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

詳細については、「インスタンスをデタッチまたはアタッチする」を参照してください。

インスタンスのアタッチ

特定の基準を満たす実行中の EC2 インスタンスを 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 グループからインスタンスを一時的に削除する」を参照してください。