Auto Scaling グループからインスタンスをデタッチまたはアタッチする
Auto Scaling グループからインスタンスをデタッチできます。インスタンスがデタッチされると、そのインスタンスは独立した存在になり、独自に管理することも、属していた元のグループとは別の異なる Auto Scaling グループにアタッチすることもできます。これは、例えば、既にアプリケーションを実行している既存のインスタンスを使用してテストを実行する場合などに便利です。
このトピックでは、インスタンスをデタッチおよびアタッチする方法について説明します。インスタンスをアタッチする場合、デタッチしたインスタンスではなく既存のインスタンスを使用することもできます。
インスタンスをデタッチして同じグループに再アタッチする代わりに、スタンバイ手順を使用して、グループからインスタンスを一時的に削除することをお勧めします。詳細については、「Auto Scaling グループからインスタンスを一時的に削除する」を参照してください。
インスタンスのデタッチに関する考慮事項
インスタンスをデタッチするときは、次の点に注意してください。
-
インスタンスをデタッチできるのは、インスタンスが
InServiceまたはStandByの状態にある場合のみです。StandBy状態にあるインスタンスをデタッチする場合は注意してください。StandBy状態になった後にインスタンスをデタッチしようとするときに API コールにShouldDecrementDesiredCapacityフラグを含めると、他のインスタンスが予期せず終了する可能性があります。 -
インスタンスをデタッチした後も、インスタンスは引き続き実行され、料金が発生します。不要な料金が発生しないように、デタッチされたインスタンスが不要になった場合は、必ず再アタッチまたは終了してください。
-
必要なキャパシティを、デタッチするインスタンスの数だけ減らすことを選択できます。キャパシティを減らさないことを選択すると、Amazon EC2 Auto Scaling はデタッチするインスタンスに置き換わる新しいインスタンスを起動し、必要なキャパシティを維持します。
-
デタッチするインスタンスの数により Auto Scaling グループの最小キャパシティを下回る状況が発生する場合は、最小キャパシティを減らす必要があります。
-
必要なキャパシティを減らすことなく同じアベイラビリティーゾーンから複数のインスタンスをデタッチすると、
AZRebalanceプロセスを中断しない限り、グループ自体が再調整されます。詳細については、「Amazon EC2 Auto Scaling プロセスの中断と再開」を参照してください。 -
ロードバランサーターゲットグループまたは Classic Load Balancer にアタッチした Auto Scaling グループからインスタンスをデタッチすると、インスタンスはロードバランサーから登録解除されます。ロードバランサーで Connection Draining (登録解除の遅延) が有効になっている場合、Amazon EC2 Auto Scaling は未処理のリクエストが完了するまで待機します。
インスタンスのアタッチに関する考慮事項
インスタンスをアタッチするときは、次の点に注意してください。
-
Amazon EC2 Auto Scaling は、アタッチしたインスタンスを、グループ自体によって起動されたインスタンスと同様に扱います。つまり、アタッチしたインスタンスが選択された場合、そのインスタンスはスケールインイベント中に終了できます。サービスにリンクされたロール AWSServiceRoleForAutoScaling によって付与されるアクセス許可により、Amazon EC2 Auto Scaling はこれを行うことができます。
-
インスタンスをアタッチすると、アタッチされるインスタンスの数によって、グループの必要なキャパシティーは増加します。新しいインスタンスを追加した後の必要なキャパシティがグループの最大サイズを超える場合、インスタンスを追加でアタッチするリクエストは失敗します。
-
インスタンスをグループに追加し、アベイラビリティーゾーン間で分散が不均等になると、
AZRebalanceプロセスを中断しない限り、Amazon EC2 Auto Scaling はグループを再調整し、均等な分散を再確立します。詳細については、「Amazon EC2 Auto Scaling プロセスの中断と再開」を参照してください。 -
インスタンスをロードバランサーターゲットグループまたは Classic Load Balancer にアタッチした Auto Scaling グループにアタッチする場合、インスタンスはロードバランサーに登録されます。
アタッチするインスタンスについては、次の条件を満たす必要があります。
-
インスタンスが Amazon EC2 で
running状態であること。 -
インスタンスの起動に使用する AMI が引き続き存在していること。
-
インスタンスは他の Auto Scaling グループのメンバーではありません。
-
インスタンスは、Auto Scaling グループで定義されているいずれかのアベイラビリティーゾーンに起動されます。
-
Auto Scaling グループにアタッチされたロードバランサーターゲットグループまたは Classic Load Balancer がある場合は、インスタンスおよびロードバランサーは両方とも同じ VPC にある必要があります。
デタッチとアタッチを使用してインスタンスを別のグループに移行する
次のいずれかの手順を使用して、インスタンスを Auto Scaling グループからデタッチし、別の Auto Scaling グループにアタッチします。
デタッチしたインスタンスから新しい Auto Scaling グループを作成するには、「AWS CLI を使用して既存のインスタンスから Auto Scaling グループを作成する」を参照してください (起動設定を作成するため、非推奨)。