インスタンスの最大存続期間に基づいて Auto Scaling インスタンスを置き換える - Amazon EC2 Auto Scaling

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

インスタンスの最大存続期間に基づいて Auto Scaling インスタンスを置き換える

インスタンスの最大有効期間は、インスタンスが終了し置き換えられるまでに稼働できる最大時間 (秒単位) を指定します。一般的なユースケースでは、内部のセキュリティポリシーや外部のコンプライアンスコントロールにより、スケジュールどおりにインスタンスを置換する要件がある場合があります。

86,400 秒 (1 日) 以上の値を指定する必要があります。以前に設定した値をクリアするには、新しい値 0 を指定します。この設定は、Auto Scaling グループの現在および今後のすべてのインスタンスに適用されます。

考慮事項

この機能を使用する際の考慮事項は次のとおりです。

  • 古いインスタンスが置き換えられて新しいインスタンスが起動するたび、新しいインスタンスは Auto Scaling グループに現在関連付けられている起動テンプレートまたは起動設定を使用します。起動テンプレートまたは起動設定でアプリケーションの別のバージョンの Amazon マシンイメージ (AMI) ID が指定されている場合、このバージョンのアプリケーションは自動的にデプロイされます。

  • インスタンスの最大有効期間の設定が低すぎると、インスタンスの置き換えが希望よりも速くなる可能性があります。Amazon EC2 Auto Scaling は通常、インスタンスを一度に 1 つずつ置き換え、置き換えの間に一時停止します。ただし、指定した最大インスタンス有効期間で各インスタンスを個別に置き換えるのに十分な時間がない場合、Amazon EC2 Auto Scaling は一度に複数のインスタンスを置き換える必要があります。Auto Scaling グループの現在のキャパシティの最大 10% まで、複数のインスタンスが置換される場合があります。一度に置き換えるインスタンスの数が多すぎないようにするには、インスタンスの最大有効期間を長く設定するか、インスタンスのスケールイン保護を使用して、個々のインスタンスが一時的に終了しないようにします。詳細については、「インスタンススケールイン保護を使用してインスタンスの終了を制御する」を参照してください。

  • デフォルトでは、Amazon EC2 Auto Scaling はインスタンスを終了するための新しいスケーリングアクティビティを作成してから終了します。インスタンスの終了中、別のスケーリングアクティビティが新しいインスタンスを起動します。この動作は、インスタンスメンテナンスポリシーを使用して終了する前に起動するように変更できます。詳細については、「インスタンスのメンテナンスポリシー」を参照してください。

最大インスタンスライフタイムを設定する

コンソールで Auto Scaling グループを作成する場合、インスタンスの最大ライフタイムを設定することはできません。ただし、グループ作成後に、グループを編集してインスタンスの最大ライフタイムを設定できます。

グループの最大インスタンスライフタイムを設定するには (コンソール)
  1. https://console.aws.amazon.com/ec2/ でAmazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling グループ] を選択します。

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

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

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

  4. [Maximum instance lifetime] (最大インスタンス有効期間) に、インスタンスが稼働できる最大秒数を入力します。

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

[Activity history] (アクティビティ履歴) の [Activity] (アクティビティ) タブでは、履歴全体にグループのインスタンスの置換を表示できます。

グループの最大インスタンスライフタイムを設定するには (AWS CLI)

を使用して AWS CLI 、新規または既存の Auto Scaling グループの最大インスタンス有効期間を設定することもできます。

新しい Auto Scaling グループの場合は、 create-auto-scaling-group コマンドを使用します。

aws autoscaling create-auto-scaling-group --cli-input-json file://~/config.json

次の例は、インスタンスの最大有効期間を 2592000 秒 (30 日) で示す config.json ファイルです。

{ "AutoScalingGroupName": "my-asg", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "$Default" }, "MinSize": 1, "MaxSize": 5, "MaxInstanceLifetime": 2592000, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags": [] }

既存の Auto Scaling グループの場合は、 update-auto-scaling-group コマンドを使用します。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-existing-asg --max-instance-lifetime 2592000
Auto Scaling グループの最大インスタンス有効期間を確認するには

describe-auto-scaling-groupsコマンドを実行します。

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

制限事項

  • すべてのインスタンスで最大ライフタイムが正確であるとは限りません: インスタンスが置き換えられるのは、最大期間が終了したときだけとは限りません。状況によっては、最大インスタンス有効期間パラメータを更新した直後に、Amazon EC2 Auto Scaling によってインスタンスの置き換えをスタートする必要がある場合があります。この動作の理由は、すべてのインスタンスを同時に置き換えることを避けることです。

  • インスタンスのスケールイン保護: Amazon EC2 Auto Scaling は、終了できるインスタンスを制御するのに役立つインスタンスのスケールイン保護を提供します。インスタンスでこの保護が有効になっている場合、Amazon EC2 Auto Scaling は、インスタンスの最大有効期間に達した場合でもインスタンスを終了しません。

  • 起動前にインスタンスが終了する: Auto Scaling グループにインスタンスが 1 つしかない場合、Amazon EC2 Auto Scaling はインスタンスを終了してからデフォルトで新しいインスタンスを起動するため、最大インスタンス有効期間機能は停止する可能性があります。この動作を終了前に起動するように変更するには、「」を参照してくださいインスタンスのメンテナンスポリシー