インスタンスのスケールイン保護の使用 - Amazon EC2 Auto Scaling (日本語)

インスタンスのスケールイン保護の使用

スケールイン時に Auto Scaling グループが特定のインスタンスを終了できるかどうかを制御するには、インスタンスのスケールイン保護を使用します。インスタンスのスケールイン保護の設定は、Auto Scaling グループまたは個々の Auto Scaling インスタンスで有効にできます。Auto Scaling グループがインスタンスを起動すると、Auto Scaling グループのインスタンスのスケールイン保護の設定を受け継ぎます。Auto Scaling グループまたは Auto Scaling インスタンスのインスタンスのスケールイン保護の設定はいつでも変更できます。

インスタンスのスケールイン保護は、インスタンスの状態が InService の場合に開始されます。スケールインされない設定のインスタンスをデタッチすると、インスタンスのスケールイン保護の設定は失われます。インスタンスをグループに再度アタッチすると、グループの現在のインスタンスのスケールイン保護を受け継ぎます。

Auto Scaling グループのすべてのインスタンスがスケールイン時の終了から保護されていて、スケールインイベントが発生した場合、希望する容量は減ります。ただし、Auto Scaling グループはインスタンスのスケールイン保護の設定が無効になるまで、必要な数のインスタンスを終了することはできません。

インスタンスのスケールイン保護は、次の状況から Auto Scaling インスタンスを保護することはできません。

  • Amazon EC2 コンソール、terminate-instances コンソール、 コマンド、TerminateInstances アクションのいずれかを使用して、手動で終了します。Auto Scaling インスタンスを手動の終了から保護するには、Amazon EC2 の終了保護を有効にします。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「終了保護の有効化」を参照してください。

  • インスタンスがヘルスチェックに失敗した場合のヘルスチェックの置換。詳細については、「Auto Scaling インスタンスのヘルス チェック」を参照してください。Amazon EC2 Auto Scaling による異常なインスタンスの終了を防止するには、ReplaceUnhealthy プロセスを停止します。詳細については、「Auto Scaling グループのプロセスを一時停止および再開する」を参照してください。

  • スポットインスタンスの中断。容量が使用できなくなった場合、またはスポット料金が上限価格を超えた場合、スポットインスタンスは終了されます。

グループのインスタンスのスケールイン保護の有効化

Auto Scaling グループを作成する際にインスタンスのスケールイン保護を有効にすることができます。デフォルトでは、インスタンスのスケールイン保護は無効になっています。

インスタンスのスケールイン保護を有効にする (コンソール)

Auto Scaling グループを作成するときに、[Configure group size and scaling policies (グループサイズとスケーリングポリシーの設定)] ページの [Instance scale-in protection (インスタンスのスケールイン保護)] で、[Enable instance scale-in protection (インスタンスのスケールイン保護を有効にする)] オプションを選択します。

インスタンスのスケールイン保護を有効にする (AWS CLI)

次の create-auto-scaling-group コマンドを使用してインスタンスのスケールイン保護を有効にします。

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in ...

グループのインスタンスのスケールイン保護の設定を変更する

Auto Scaling グループのインスタンスのスケールイン保護の設定は、有効または無効にすることができます。インスタンスのスケールイン保護設定を有効にすると、有効化後に起動したすべての新しいインスタンスでは、インスタンスのスケールイン保護が有効になります。以前に起動したインスタンスは、インスタンスごとに個別にインスタンスのスケールイン保護設定を有効にする場合、スケールインから保護するだけです。

グループのインスタンスのスケールイン保護の設定を変更する (コンソール)

  1. Amazon EC2 Auto Scaling コンソール (https://console.aws.amazon.com/ec2autoscaling/) を開きます。

  2. Auto Scaling グループのチェックボックスを選択します。

    [Auto Scaling グループ] ページの下部に分割ペインが開き、選択したグループに関する情報が表示されます。

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

  4. [インスタンスのスケールイン保護] で、[インスタンスのスケールイン保護を有効にする] を選択します。

  5. [Update (更新)] を選択します。

グループのインスタンスのスケールイン保護設定を変更する (AWS CLI)

次の update-auto-scaling-group コマンドを使用して、指定した Auto Scaling グループにインスタンスのスケールインの保護を有効にします。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in

次のコマンドを使用して、指定したグループのインスタンスのスケールイン保護を無効にします。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --no-new-instances-protected-from-scale-in

インスタンスに対してインスタンスのスケールイン保護の設定を変更する

デフォルトで、インスタンスは所属する Auto Scaling グループからインスタンスのスケールイン保護の設定を取得します。ただし、インスタンスにおけるインスタンスのスケールイン保護はいつでも有効または無効にできます。

インスタンスに対するインスタンスのスケールイン保護設定を変更する (コンソール)

  1. Amazon EC2 Auto Scaling コンソール (https://console.aws.amazon.com/ec2autoscaling/) を開きます。

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

    [Auto Scaling グループ] ページの下部に分割ペインが開き、選択したグループに関する情報が表示されます。

  3. [Instance management (インスタンス管理)] タブの [Instances (インスタンス)] で、インスタンスを選択します。

  4. インスタンスのスケールイン保護を有効にするには、[Actions (アクション)]、[Set scale-in protection (スケールイン保護を設定)] の順に選択します。プロンプトが表示されると、[Set scale-in protection (スケールイン保護を設定)] を選択します。

  5. インスタンスのスケールイン保護を無効にするには、[Actions (アクション)]、[Remove scale-in protection (スケールイン保護の削除)] の順に選択します。プロンプトが表示されたら、[Remove scale-in protection (スケールイン保護の削除)] を選択します。

インスタンスに対するインスタンスのスケールイン保護設定を変更する (AWS CLI)

次の set-instance-protection コマンドを使用して、指定したインスタンスにおけるインスタンスのスケールインの保護を有効にします。

aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --protected-from-scale-in

次のコマンドを使用して、指定したインスタンスにおけるインスタンスのスケールイン保護を無効にします。

aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --no-protected-from-scale-in