

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

# Amazon EC2 Auto Scaling インスタンスのライフサイクル
<a name="ec2-auto-scaling-lifecycle"></a>

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

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

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

![Auto Scaling グループ内のインスタンスのライフサイクル。](http://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/images/auto-scaling-instance-lifecycle.png)


## スケールアウト
<a name="as-lifecycle-scale-out"></a>

以下で、イベントを Auto Scaling グループで直接スケールアウトして EC2 インスタンスを起動し、グループにアタッチします。
+ 手動でグループのサイズを拡大します。詳細については、「[既存の Auto Scaling グループの希望するキャパシティを変更する](ec2-auto-scaling-scaling-manually.md#change-desired-capacity)」を参照してください。
+ スケーリングポリシーを作成して、指定した需要の増加に基づいてグループのサイズを自動的に拡大します。詳細については、「[Amazon EC2 Auto Scaling の動的スケーリング](as-scale-based-on-demand.md)」を参照してください。
+ スケジュールでスケーリングを設定して、特定の時間でグループのサイズを拡大します。詳しくは、「[Amazon EC2 Auto Scaling のスケジュールされたスケーリング](ec2-auto-scaling-scheduled-scaling.md)」を参照してください。

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

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

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

スケールアウトイベントについて、ロードバランサーにインスタンスを登録する手順の概要を次に示します。

![スケールアウトイベントの概要図。](http://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/images/scale-out-diagram.png)


## インスタンスが実行中
<a name="as-lifecycle-inservice"></a>

以下のいずれかが発生するまで、インスタンスは `InService` 状態のままとなります。
+ スケールインイベントが発生し、Amazon EC2 Auto Scaling が Auto Scaling グループのサイズを縮小するためにこのインスタンスを削除する。詳細については、「[スケールイン中に終了する Auto Scaling インスタンスを制御する](as-instance-termination.md)」を参照してください。
+ ユーザーがインスタンスを `Standby` 状態にする 詳細については、「[スタンバイを入力し終了します。](#as-lifecycle-standby)」を参照してください。
+ Auto Scaling グループからインスタンスをデタッチします。詳細については、「[Auto Scaling グループからインスタンスをデタッチまたはアタッチする](ec2-auto-scaling-detach-attach-instances.md)」を参照してください。
+ インスタンスが必要な数のヘルスチェックに失敗したため、Auto Scaling グループから削除され、終了されて置き換えられます。詳しくは、「[Auto Scaling グループでのインスタンスのヘルスチェック](ec2-auto-scaling-health-checks.md)」を参照してください。

## スケールイン
<a name="as-lifecycle-scale-in"></a>

以下で、イベントを Auto Scaling グループで直接スケールインして EC2 インスタンスをグループからデタッチして、終了します。
+ 手動でグループのサイズを縮小します。詳細については、「[既存の Auto Scaling グループの希望するキャパシティを変更する](ec2-auto-scaling-scaling-manually.md#change-desired-capacity)」を参照してください。
+ スケーリングポリシーを作成して、指定した需要の縮小に基づいてグループのサイズを自動的に縮小します。詳細については、「[Amazon EC2 Auto Scaling の動的スケーリング](as-scale-based-on-demand.md)」を参照してください。
+ スケジュールでスケーリングを設定して、特定の時間にグループのサイズを縮小します。詳しくは、「[Amazon EC2 Auto Scaling のスケジュールされたスケーリング](ec2-auto-scaling-scheduled-scaling.md)」を参照してください。

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

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

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

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

スケールインイベントについて、ロードバランサーからインスタンスを登録解除する手順の概要を次に示します。

![スケールインイベントの概要図。](http://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/images/scale-in-diagram.png)


## インスタンスのデタッチ
<a name="as-lifecycle-detach"></a>

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

詳細については、「[Auto Scaling グループからインスタンスをデタッチまたはアタッチする](ec2-auto-scaling-detach-attach-instances.md)」を参照してください。

## インスタンスのアタッチ
<a name="as-lifecycle-attach"></a>

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

詳細については、「[Auto Scaling グループからインスタンスをデタッチまたはアタッチする](ec2-auto-scaling-detach-attach-instances.md)」を参照してください。

## ライフサイクルフック
<a name="as-lifecycle-hooks"></a>

インスタンスを起動または終了したときにカスタムアクションを実行できるように、ライフサイクルフックを 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 のライフサイクルフック](lifecycle-hooks.md)」を参照してください。

## スタンバイを入力し終了します。
<a name="as-lifecycle-standby"></a>

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

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

詳細については、「[Auto Scaling グループからインスタンスを一時的に削除する](as-enter-exit-standby.md)」を参照してください。