Amazon EC2 Auto Scaling (日本語)
ユーザーガイド

スケーリングプロセスの中断と再開

Auto Scaling グループのスケーリングプロセスの 1 つ以上を停止し、後で再開できます。これは、スケーリングプロセスを呼び出さずに、ウェブアプリケーションの設定などの問題を調査し、アプリケーションに変更を加えたいときに便利です。

Amazon EC2 Auto Scaling では、インスタンスの起動に繰り返し失敗する Auto Scaling グループのプロセスが停止できます。これは、管理上の停止と呼ばれ、多くの場合、24 時間以上インスタンスの起動を試みているが、インスタンスの起動に成功していない Auto Scaling グループに適用されます。管理上の理由で停止されたプロセスを再開できます。

スケーリングプロセス

Amazon EC2 Auto Scaling は次のスケーリングプロセスをサポートします。

Launch

グループに新しい EC2 インスタンスを追加し、キャパシティーを高めます。

警告

Launch を停止すると、他のプロセスが中断します。たとえば、グループがスケーリングできないために Launch プロセスが停止している場合、スタンバイ状態のインスタンスをサービスに返すことはできません。

Terminate

グループから EC2 インスタンスを削除し、キャパシティーを減らします。

警告

Terminate を停止すると、他のプロセスが中断します。

HealthCheck

インスタンスのヘルスをチェックします。Amazon EC2 Auto Scaling インスタンスに異常があるという通知を Amazon EC2 または Elastic Load Balancing から受け取った場合、Amazon EC2 Auto Scaling はインスタンスを異常ありとしてマークします。このプロセスは、手動で設定したインスタンスのヘルス ステータスをオーバーライドできます。

ReplaceUnhealthy

異常とマークされたインスタンスを削除し、その後で、代替となる新しいインスタンスを作成します。このプロセスは HealthCheck プロセスと連係し、Terminate プロセスと Launch プロセスを両方とも使用します。

AZRebalance

リージョンのアベイラビリティーゾーンでグループの EC2 インスタンスの数のバランスをとります。Auto Scaling グループからアベイラビリティーゾーンを削除する場合や、その他の理由でアベイラビリティーゾーンが異常な状態または使用不可になった場合、スケーリングプロセスは、異常な状態または使用不可のインスタンスを削除する前に、影響を受けていないアベイラビリティーゾーンで新しいインスタンスを起動します。異常のあるアベイラビリティーゾーンが正常な状態に戻ると、スケーリングプロセスはグループのアベイラビリティーゾーンにわたって均等にインスタンスを自動的に再分散します。詳細については、「アクティビティの再分散」を参照してください。

AZRebalance を停止し、スケールアウトまたはスケールインイベントが発生した場合でも、スケーリングプロセスはアベイラビリティーゾーンのバランスを維持しようとします。たとえば、スケールアウト中に、インスタンスが最も少ないアベイラビリティーゾーンでインスタンスを起動します。

Launch プロセスを停止すると、AZRebalance は、新しいインスタンスの起動も、既存のインスタンスの削除も行いません。これは、AZRebalance は、代替インスタンスを起動した後にのみインスタンスを削除するためです。この Terminate プロセスを停止すると、再分散アクティビティ中に一時的にこれを許可するため、Auto Scaling グループが最大サイズより最大 10 パーセント大きくなることがあります。スケーリングプロセスがインスタンスを終了できない場合、Terminate プロセスを再開するまで、Auto Scaling グループは最大サイズより大きいままになります。

AlarmNotification

グループに関連付けられている CloudWatch アラームから通知を受け取ります。

AlarmNotification を停止すると、Amazon EC2 Auto Scaling はアラームによってトリガーされるポリシーを自動的には実行しません。Launch または Terminate を停止した場合、それぞれスケールアウトポリシーまたはスケールインポリシーを実行できません。

ScheduledActions

作成したスケジュールされたアクションを実行します。

Launch または Terminate を停止すると、インスタンスの起動または停止に関係するスケジュールされたアクションが影響を受けます。

AddToLoadBalancer

インスタンスが起動されたときに、アタッチされたロードバランサーまたはターゲットグループにインスタンスを追加します。

AddToLoadBalancer を停止すると、Amazon EC2 Auto Scaling はインスタンスを起動しますが、ロードバランサーまたはターゲットグループに追加しません。AddToLoadBalancer プロセスを再開すると、インスタンスが起動したときのロードバランサーまたはターゲットグループへの追加を再開します。ただし、このプロセスが停止されている間に起動されたインスタンスは追加されません。これらのインスタンスを手動で登録する必要があります。

コンソールを使用したプロセスの停止と再開

AWS マネジメントコンソール を使用して、個々のプロセスを停止および再開できます。

コンソールを使用してプロセスを停止および再開するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [Auto Scaling] で、[Auto Scaling Groups] を選択します。

  3. Auto Scaling グループを選択します。

  4. [Details] タブで、[Edit] を選択します。

  5. [Suspended Processes] で、停止するプロセスを選択します。

     停止されたプロセスのリスト。

    中断したプロセスを再開するには、[Suspended Processes] からそのプロセスを削除します。

     停止されたプロセスのリスト。
  6. [Save] を選択します。

AWS CLI を使用したプロセスの停止と再開

個別のプロセスまたはすべてのプロセスを停止および再開することができます。

プロセスを停止するには

suspend-processes コマンドを --scaling-processes オプションとともに次のように使用します。

aws autoscaling suspend-processes --auto-scaling-group-name my-asg --scaling-processes AlarmNotification

すべてのプロセスを停止するには

suspend-processes コマンドを次のように使用します (--scaling-processes オプションは省略)。

aws autoscaling suspend-processes --auto-scaling-group-name my-asg

停止されたプロセスを再開するには

resume-processes コマンドを次のように使用します。

aws autoscaling resume-processes --auto-scaling-group-name my-asg --scaling-processes AlarmNotification

停止されたすべてのプロセスを再開するには

resume-processes コマンドを次のように使用します (--scaling-processes オプションは省略)。

aws autoscaling resume-processes --auto-scaling-group-name my-asg