

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

# Amazon EC2 Auto Scaling プロセスの中断と再開
<a name="as-suspend-resume-processes"></a>

このトピックでは、Auto Scaling グループの 1 つまたは複数のプロセスを中断してから再開して、一時的に特定のオペレーションを無効にする方法について説明します。

プロセスの中断は、スケーリングポリシーやスケジュールされたアクションに干渉されることなく、問題を調査またはトラブルシューティングする必要がある場合に役立ちます。また、Auto Scaling グループを変更している間に、Amazon EC2 Auto Scaling がインスタンスを異常とマークしたり、インスタンスを置き換えたりするのを防ぐのに役立ちます。

**Topics**
+ [プロセスのタイプ](#process-types)
+ [考慮事項](suspend-resume-considerations.md)
+ [プロセスを中断する](suspend-processes.md)
+ [プロセスを再開する](resume-processes.md)
+ [中断されているプロセスが他のプロセスに及ぼす影響](understand-how-suspending-processes-affects-other-processes.md)

**注記**  
Auto Scaling グループのプロセスは、お客様が中断するだけでなく、インスタンスの起動に繰り返し失敗するという理由で Amazon EC2 Auto Scaling によって中断されることもあります。これは、*管理上の中断*と呼ばれます。管理上の中断は一般に、24 時間以上インスタンスの起動を試みているが、インスタンスの起動に成功しない Auto Scaling グループに適用されます。管理上の理由で Amazon EC2 Auto Scaling によって中断されたプロセスは、お客様が再開できます。

## プロセスのタイプ
<a name="process-types"></a>

中断/再開機能は、以下のプロセスをサポートします。
+ `Launch` – グループがスケールアウトするとき、または Amazon EC2 Auto Scaling がその他の理由 (インスタンスをウォームプールに追加する場合など) でインスタンスの起動を選択するときに、インスタンスを Auto Scaling グループに追加します。
+ `Terminate` – グループがスケールインするとき、または Amazon EC2 Auto Scaling がその他の理由 (最大有効期間を超過した、もしくはヘルスチェックに合格しなかったためにインスタンスが終了される場合など) でインスタンスの終了を選択するときに、インスタンスを Auto Scaling グループから削除します。
+ `AddToLoadBalancer` – インスタンスが起動されたときに、アタッチされたロードバランサーターゲットグループまたは Classic Load Balancer にインスタンスを追加します。詳細については、「[Elastic Load Balancing を使用して Auto Scaling グループ内で受信アプリケーショントラフィックを分散する](autoscaling-load-balancer.md)」を参照してください。
+ `AlarmNotification` – 動的スケーリングポリシーに関連付けられている CloudWatch アラームからの通知を受け取ります。詳細については、「[Amazon EC2 Auto Scaling の動的スケーリング](as-scale-based-on-demand.md)」を参照してください。
+ `AZRebalance` – グループ内の EC2 インスタンス数のバランスが悪くなったとき (それまで使用できなかったアベイラビリティーゾーンが正常状態に戻ったときなど) に、指定されたすべてのアベイラビリティーゾーン全体でグループ内のインスタンス数のバランスを整えます。詳細については、「[アクティビティの再分散](auto-scaling-benefits.md#AutoScalingBehavior.InstanceUsage)」を参照してください。
+ `HealthCheck` – インスタンスのヘルスを確認し、インスタンスが正常でないと Amazon EC2 または Elastic Load Balancing が Amazon EC2 Auto Scaling に伝達した場合、そのインスタンスを異常とマークします。このプロセスは、手動で設定したインスタンスのヘルス ステータスをオーバーライドできます。詳細については、「[Auto Scaling グループでのインスタンスのヘルスチェック](ec2-auto-scaling-health-checks.md)」を参照してください。
+ `InstanceRefresh` – インスタンスの更新機能を使用して、インスタンスを終了および置換します。詳細については、「[インスタンスの更新を使用して Auto Scaling グループのインスタンスを更新する](asg-instance-refresh.md)」を参照してください。
+ `ReplaceUnhealthy` – 異常とマークされたインスタンスを終了してから、新しいインスタンスを作成して置き換えます。詳細については、「[Auto Scaling グループでのインスタンスのヘルスチェック](ec2-auto-scaling-health-checks.md)」を参照してください。
+ `ScheduledActions` – AWS Auto Scaling スケーリングプランを作成し、予測スケーリングをオンにしたときに、作成したか、自動的に作成されたスケジュールされたスケーリングアクションを実行します。詳細については、「[Amazon EC2 Auto Scaling のスケジュールされたスケーリング](ec2-auto-scaling-scheduled-scaling.md)」を参照してください。

# プロセスの中断に関する考慮事項
<a name="suspend-resume-considerations"></a>

プロセスを中断する前に、以下を考慮してください。
+ `AlarmNotification` の中断は、スケーリングポリシーや、それらに関連付けられた CloudWatch アラームを削除することなく、グループのターゲット追跡、ステップ、およびシンプルスケーリングポリシーを一時的に停止できるようにします。その代わりに個々のスケーリングポリシーを一時的に停止するには、「[Auto Scaling グループのスケーリングポリシーを無効化する](as-enable-disable-scaling-policy.md)」を参照してください。
+ Amazon EC2 Auto Scaling がヘルスチェックに基づいてインスタンスを終了させることなくインスタンスを再起動するために、`HealthCheck` プロセスと `ReplaceUnhealthy` プロセスを中断することもできます。ただし、Amazon EC2 Auto Scaling が残りのインスタンスに対してヘルスチェックの実行を続ける必要がある場合は、代わりにスタンバイ機能を使用します。詳細については、「[Auto Scaling グループからインスタンスを一時的に削除する](as-enter-exit-standby.md)」を参照してください。
+ `Launch` プロセスと `Terminate` プロセス、または `AZRebalance` を中断してから、インスタンスのデタッチ、または指定されたアベイラビリティーゾーンの変更などで Auto Scaling グループを変更すると、アベイラビリティーゾーン間でのグループのバランスが悪くなる可能性があります。その場合は、中断されたプロセスの再開後、Amazon EC2 Auto Scaling が徐々に、インスタンスをアベイラビリティーゾーン間で均等に再分散します。
+ `Terminate` プロセスを中断しても、force delete オプション付きで [delete-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/delete-auto-scaling-group.html) コマンドを使用してインスタンスを強制終了できます。
+ `Terminate` プロセスの中断は、現在 `InService` 状態にあるインスタンスにのみ適用されます。`Pending` など、他の状態のインスタンスや、スタンバイから適切に再開できないインスタンスの終了は妨げられません。
+  AWS CLI または SDKs を使用して Auto Scaling グループを記述する呼び出しに存在する場合、`RemoveFromLoadBalancerLowPriority`このプロセスは無視できます。このプロセスは非推奨で後方互換性のためにのみ保持されています。

# プロセスを中断する
<a name="suspend-processes"></a>

Auto Scaling グループのプロセスを中断するには、次のいずれかの方法を使用します。

------
#### [ Console ]

**プロセスを停止するには**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) でAmazon EC2 コンソールを開き、ナビゲーションペインで [**Auto Scaling グループ**] を選択します。

1. Auto Scaling グループの横にあるチェックボックスを選択します。

   ページの下部にスプリットペインが開きます。

1. [**詳細**] タブで、[**高度な設定**]、[**編集**] の順に選択します。

1. [**Suspended processes (中断したプロセス)**] で、停止するプロセスを選択します。

1. **[更新]** を選択します。

------
#### [ AWS CLI ]

以下の [suspend-processes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/suspend-processes.html) コマンドを使用して、個々のプロセスを中断します。

```
aws autoscaling suspend-processes --auto-scaling-group-name my-asg --scaling-processes HealthCheck ReplaceUnhealthy 
```

すべてのプロセスを中断するには、以下のように `--scaling-processes` オプションを削除します。

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

------

# プロセスを再開する
<a name="resume-processes"></a>

Auto Scaling グループの中断されたプロセスを再開するには、次のいずれかの方法を使用します。

------
#### [ Console ]

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

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) でAmazon EC2 コンソールを開き、ナビゲーションペインで [**Auto Scaling グループ**] を選択します。

1. Auto Scaling グループの横にあるチェックボックスを選択します。

   ページの下部にスプリットペインが開きます。

1. [**詳細**] タブで、[**高度な設定**]、[**編集**] の順に選択します。

1. **[Suspended processes]** (中断されたプロセス) で、中断されたプロセスを削除します。

1. **[更新]** を選択します。

------
#### [ AWS CLI ]

中断されたプロセスを再開するには、以下の [resume-processes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/resume-processes.html) コマンドを使用します。

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

中断されたすべてのプロセスを再開するには、以下のように `--scaling-processes` オプションを削除します。

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

------

# 中断されているプロセスが他のプロセスに及ぼす影響
<a name="understand-how-suspending-processes-affects-other-processes"></a>

以下のセクションでは、さまざまなプロセスが個々に中断されたときに発生する現象について説明しています。

**Topics**
+ [`Launch` は中断されています](#launch-is-suspended)
+ [`Terminate` は中断されています](#terminate-is-suspended)
+ [`AddToLoadBalancer` は中断されています](#addtoloadbalancer-is-suspended)
+ [`AlarmNotification` は中断されています](#alarmnotification-is-suspended)
+ [`AZRebalance` は中断されています](#azrebalance-is-suspended)
+ [`HealthCheck` は中断されています](#healthcheck-is-suspended)
+ [`InstanceRefresh` は中断されています](#instancerefresh-is-suspended)
+ [`ReplaceUnhealthy` は中断されています](#replaceunhealthy-is-suspended)
+ [`ScheduledActions` は中断されています](#scheduledactions-is-suspended)
+ [その他の考慮事項](#other-considerations)

## `Launch` は中断されています
<a name="launch-is-suspended"></a>
+ `AlarmNotification` は引き続きアクティブですが、Auto Scaling グループは、しきい値を超過した状態のアラームに対してスケールアウトアクティビティを開始できません。
+ `ScheduledActions` はアクティブですが、Auto Scaling グループは、実行されるスケジュールされたアクションに対してスケールアウトアクティビティを開始できません。
+ `AZRebalance` は、グループの再配分を停止します。
+ `ReplaceUnhealthy` は引き続き異常なインスタンスを終了しますが、置き換えは開始しません。`Launch` プロセスを再開すると、Amazon EC2 Auto Scaling は、`Launch` 停止中に終了されたインスタンスを直ちに置き換えます。
+ `InstanceRefresh` はインスタンスを置き換えません。

## `Terminate` は中断されています
<a name="terminate-is-suspended"></a>
+ `AlarmNotification` は引き続きアクティブですが、Auto Scaling グループは、しきい値を超過した状態のアラームに対してスケールインアクティビティを開始できません。
+ `ScheduledActions` はアクティブですが、Auto Scaling グループは、実行されるスケジュールされたアクションに対してスケールインアクティビティを開始できません。
+ `AZRebalance` はまだアクティブですが、正しく機能していません。古いインスタンスを終了せずに新しいインスタンスを起動することがあります。これにより、Auto Scaling グループがその最大サイズより 10% まで大きくなることあります。バランスの再調整アクティビティ中にこの状態が一時的に許可されるためです。`Terminate` プロセスを再開するまで、Auto Scaling グループは最大サイズを超えることがあります。
+ `ReplaceUnhealthy` は非アクティブですが、`HealthCheck` はアクティブです。`Terminate` が再開されると、`ReplaceUnhealthy` プロセスはすぐに実行を開始します。`Terminate` が中断されている間に異常とマークされたインスタンスがある場合、それらのインスタンスはすぐに置き換えられます。
+ `InstanceRefresh` はインスタンスを置き換えません。

## `AddToLoadBalancer` は中断されています
<a name="addtoloadbalancer-is-suspended"></a>
+ Amazon EC2 Auto Scaling はインスタンスを起動しますが、ロードバランサーターゲットグループまたは Classic Load Balancer に追加しません。`AddToLoadBalancer` プロセスを再開すると、インスタンスが起動されるときのロードバランサーへの追加が再開されます。ただし、このプロセスが中断されている間に起動されたインスタンスは追加されません。これらのインスタンスを手動で登録する必要があります。

## `AlarmNotification` は中断されています
<a name="alarmnotification-is-suspended"></a>
+ CloudWatch アラームのしきい値が超過している場合、Amazon EC2 Auto Scaling はスケーリングポリシーを呼び出しません。`AlarmNotification` を再開すると、Amazon EC2 Auto Scaling はアラームしきい値に現在違反しているポリシーを処理します。

## `AZRebalance` は中断されています
<a name="azrebalance-is-suspended"></a>
+ Amazon EC2 Auto Scaling は、特定イベントの発生後にインスタンスの再分散を試みません。ただし、スケールアウトまたはスケールインのイベントが発生した場合でも、スケーリングプロセスはアベイラビリティーゾーン間のバランスを調整しようとします。例えば、スケールアウト中に、インスタンスが最も少ないアベイラビリティーゾーンでインスタンスを起動します。`AZRebalance` が中断されている間にグループのバランスがとれなくなった場合、そのプロセスを再開しても、Amazon EC2 Auto Scaling はグループのバランスを再調整しようとしません。最初に `Launch` を呼び出してから `Terminate` を呼び出します。
+ `AZRebalance` が停止されている場合、ウォームプールは影響を受けません。

## `HealthCheck` は中断されています
<a name="healthcheck-is-suspended"></a>
+ Amazon EC2 Auto Scaling は、EC2 および Elastic Load Balancing のヘルスチェックの結果として、インスタンスに異常とマークしなくなります。カスタムヘルスチェックは引き続き正常に機能します。`HealthCheck` を中断した後、必要に応じて、グループ内のインスタンスのヘルス状態を手動で設定し、`ReplaceUnhealthy` がそれらのインスタンスを置き換えるようにできます。

## `InstanceRefresh` は中断されています
<a name="instancerefresh-is-suspended"></a>
+ Amazon EC2 Auto Scaling は、インスタンス更新の結果としてのインスタンスの置き換えを停止します。進行中のインスタンス更新がある場合、操作はキャンセルされず、一時停止されます。

## `ReplaceUnhealthy` は中断されています
<a name="replaceunhealthy-is-suspended"></a>
+ Amazon EC2 Auto Scaling は、異常とマークされたインスタンスを置き換えなくなります。EC2 または Elastic Load Balancing のヘルスチェックに失敗したインスタンスも異常とマークされます。`ReplaceUnhealthy` プロセスを再開するとすぐに、Amazon EC2 Auto Scaling はこのプロセスが中断されている間に異常とマークされたインスタンスを置き換えます。`ReplaceUnhealthy` プロセスは最初に `Terminate` を呼び出し、次に `Launch` を呼び出します。

## `ScheduledActions` は中断されています
<a name="scheduledactions-is-suspended"></a>
+ Amazon EC2 Auto Scaling は、中断期間中に実行されるようにスケジュールされたアクションを実行しません。`ScheduledActions` を再開すると、Amazon EC2 Auto Scaling は、スケジュールされたアクションのうち、実行時間が過ぎていないもののみを考慮します。

## その他の考慮事項
<a name="other-considerations"></a>

さらに、`Launch` または `Terminate` が中断される場合は、以下の機能が正しく機能しない可能性があります。
+ **インスタンスの最大有効期間** – `Launch` または `Terminate` が中断されている場合、インスタンスの最大有効期間機能でインスタンスを置き換えることはできません。
+ **スポットインスタンスの中断** – `Terminate` が中断されていても、Auto Scaling グループにスポットインスタンスがある場合には、スポットキャパシティが使用可能でなくなった場合にそれらのインスタンスを終了することが可能です。`Launch` が中断されている間、Amazon EC2 Auto Scaling は、別のスポットインスタンスプール、または同じスポットインスタンスプール (再度利用可能になったとき) から代替インスタンスを起動できません。
+ **キャパシティのバランス再調整** – `Terminate` が中断されており、スポットインスタンスの中断に対応するためにキャパシティのバランス再調整を使用する場合、Amazon EC2 スポットサービスは引き続き、スポットキャパシティが利用できなくなったときにインスタンスを終了できます。`Launch` が中断される場合、Amazon EC2 Auto Scaling は、別のスポットインスタンスプール、または同じスポットインスタンスプール (再度利用可能になったとき) から代替インスタンスを起動できません。
+ **インスタンスのアタッチとデタッチ** – `Launch` と `Terminate` が中断されると、Auto Scaling グループにアタッチされているインスタンスをデタッチすることはできますが、`Launch` が中断されている間は、新しいインスタンスをそのグループにアタッチできません。
+ **スタンバイインスタンス** – `Launch` と `Terminate` が中断されると、インスタンスを `Standby` 状態にすることはできますが、`Launch` が中断されている間は、`Standby` 状態のインスタンスを service に戻すことはできません。