インスタンスの最大存続期間に基づいて 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. Word で Amazon EC2 コンソールを開き、ナビゲーションペインから Auto Scaling Groups を選択します。 https://console.aws.amazon.com/ec2/

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

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

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

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

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

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

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

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

新しい 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 はインスタンスを終了してからデフォルトで新しいインスタンスを起動するため、インスタンスの最大有効期間機能によって停止する可能性があります。この動作を終了前に起動するように変更するには、「インスタンスメンテナンスポリシー」を参照してください。