View a markdown version of this page

保持されたインスタンスを管理する - Amazon EC2 Auto Scaling

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

保持されたインスタンスを管理する

保持状態に移行した Amazon EC2 インスタンスを監視および制御します。CloudWatch メトリクスを使用して保持されたインスタンスを追跡し、カスタムアクションの完了後に保持されたインスタンスを手動で終了します。

保持されたインスタンスは、Amazon EC2 Auto Scaling グループの希望する容量にはカウントされません。インスタンスが保持状態になると、Auto Scaling は必要な容量を維持するために代替インスタンスを起動します。たとえば、Auto Scaling グループの希望する容量が 10 であるとします。インスタンスが Terminating:Retained状態になると、Auto Scaling は必要な容量を 10 に維持するために代替インスタンスを起動します。これで、アクティブなグループに 10 個のインスタンスと 1 個の保持されたインスタンスの合計 11 個のインスタンスが実行されました。保持されたインスタンスを手動で終了するまで、11 個のインスタンスすべてに対する標準の Amazon EC2 料金が適用されます。

保持されたインスタンスのインスタンスライフサイクル状態

インスタンスライフサイクルポリシーが使用される場合に、インスタンスがライフサイクル状態に移行する方法を理解します。インスタンスは、通常の終了から保持、最終終了までの特定のパスに従います。

保持がトリガーされると、インスタンスは次の状態に移行します。

  1. Terminating - 通常の終了が開始されます

  2. Terminating:Wait - ライフサイクルフックの実行

  3. Terminating:Proceed - ライフサイクルアクションをまとめる (成功したか失敗したか)

  4. Terminating:Retained - フックが失敗し、手動介入のためにインスタンスが保持される

ウォームプールインスタンスは、シナリオに応じて異なるライフサイクル状態パスを取ります。

ウォームプールにスケールバックするインスタンス:

  1. Warmed:Pending - 通常のウォームプールの移行が開始されます

  2. Warmed:Pending:Wait - ライフサイクルフックの実行

  3. Warmed:Pending:Proceed - ライフサイクルアクションをまとめる (成功したか失敗したか)

  4. Warmed:Pending:Retained - フックが失敗し、インスタンスが手動介入のために保持される

ウォームプールから終了されるインスタンス:

  1. Warmed:Terminating - 通常の終了が開始されます

  2. Warmed:Terminating:Wait - ライフサイクルフックの実行

  3. Warmed:Terminating:Proceed - ライフサイクルアクションをまとめる (成功したか失敗したか)

  4. Warmed:Terminating:Retained - フックが失敗し、インスタンスが手動介入のために保持される

保持されたインスタンスをモニタリングする

保持された Amazon EC2 インスタンスにはコストがかかり、手動による介入が必要なため、モニタリングが不可欠です。Amazon EC2 Auto Scaling には、保持されているインスタンスを追跡するための CloudWatch メトリクスがいくつか用意されています。

グループメトリクスを有効にして、保持されたインスタンスを追跡します。

aws autoscaling enable-metrics-collection \ --auto-scaling-group-name my-asg \ --metrics GroupTerminatingRetainedInstances

使用可能なメトリクスは次のとおりです。

  • GroupTerminatingRetainedInstances は、 Terminating:Retained状態のインスタンスの数を示します。

  • GroupTerminatingRetainedCapacity は、 Terminating:Retained状態のインスタンスによって表されるキャパシティーユニットを示します。

  • WarmPoolTerminatingRetainedCapacity は、ウォームプールから終了する保持されたインスタンスを追跡します。

  • WarmPoolPendingRetainedCapacity は、ウォームプールに戻る保持されたインスタンスを追跡します。

Amazon EC2 Auto Scaling グループのスケーリングアクティビティを確認して、インスタンスが保持された理由を把握することもできます。ライフサイクルフックの失敗を示す StatusCode: Cancelledおよびステータスの理由メッセージを含む終了アクティビティを探します。

aws autoscaling describe-scaling-activities \ --auto-scaling-group-name my-asg

これらのメトリクスに CloudWatch アラームを作成して、インスタンスが保持状態になったときにアラートを受け取ることをお勧めします。これにより、コストへの影響を追跡し、手動による介入が必要なインスタンスのクリーンアップを忘れないようにできます。

保持されたインスタンスを終了する

カスタムアクションが完了したら、TerminateInstanceInAutoScalingGroup API を呼び出して、保持されているインスタンスを終了します。

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-id i-1234567890abcdef0 \ --no-should-decrement-desired-capacity