

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

# インスタンスの最大存続期間に基づいて Auto Scaling インスタンスを置き換える
<a name="asg-max-instance-lifetime"></a>

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

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

**Topics**
+ [考慮事項](#max-instance-lifetime-considerations)
+ [最大インスタンスライフタイムを設定する](#set-maximum-instance-lifetime)
+ [制限事項](#maximum-instance-lifetime-limitations)

## 考慮事項
<a name="max-instance-lifetime-considerations"></a>

この機能を使用する際の考慮事項を次に示します。
+ 古いインスタンスが置き換えられて新しいインスタンスが起動するたび、新しいインスタンスは Auto Scaling グループに現在関連付けられている起動テンプレートまたは起動設定を使用します。起動テンプレートまたは起動設定で、アプリケーションの別のバージョンの Amazon Machine Image (AMI) ID が指定されている場合、このバージョンのアプリケーションが自動的にデプロイされます。
+ インスタンスの最大有効期間の設定が低すぎると、インスタンスが想定よりも早く置き換えられる可能性があります。Amazon EC2 Auto Scaling は通常、インスタンスを一度に 1 つずつ置換し、置換の間に一時停止します。ただし、指定したインスタンスの最大有効期間では各インスタンスを個別に置き換えるのに十分な時間がない場合、Amazon EC2 Auto Scaling は一度に複数のインスタンスを置換する必要があります。Auto Scaling グループの現在のキャパシティの最大 10% まで、複数のインスタンスが置換される場合があります。一度に多くのインスタンスが置換されないようにするには、インスタンスの最大有効期間を長く設定するか、インスタンススケールイン保護を使用して、個々のインスタンスが一時的に終了しないようにします。詳細については、「[インスタンスのスケールイン保護を使用してインスタンスの終了を制御する](ec2-auto-scaling-instance-protection.md)」を参照してください。
+ デフォルトでは、Amazon EC2 Auto Scaling はインスタンスを終了する前に、新しいスケーリングアクティビティを作成します。インスタンスの終了中、別のスケーリングアクティビティが新しいインスタンスを起動します。インスタンス メンテナンス ポリシーを使用して、終了前に起動するようにこの動作を変更できます。詳細については、「[インスタンスメンテナンスポリシー](ec2-auto-scaling-instance-maintenance-policy.md)」を参照してください。

## 最大インスタンスライフタイムを設定する
<a name="set-maximum-instance-lifetime"></a>

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

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

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

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

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

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

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

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

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

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

新しい Auto Scaling グループでは、[create Auto Scaling グループ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)コマンドを実行します。

```
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 グループ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)コマンドを実行します。

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name {{my-existing-asg}} --max-instance-lifetime {{2592000}}
```

**Auto Scaling グループの最大インスタンス有効期間を確認するには**  
[describe Auto Scaling グループ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html)コマンドを実行します。

```
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name {{my-asg}}
```

## 制限事項
<a name="maximum-instance-lifetime-limitations"></a>
+ **すべてのインスタンスで最大ライフタイムが正確であるとは限りません**: インスタンスが置き換えられるのは、最大期間が終了したときだけとは限りません。状況によっては、最大インスタンス有効期間パラメータを更新した直後に、Amazon EC2 Auto Scaling によってインスタンスの置き換えをスタートする必要がある場合があります。この動作の理由は、すべてのインスタンスを同時に置き換えることを避けることです。
+ **インスタンスのスケールイン保護の適用：** Amazon EC2 Auto Scaling は、どのインスタンスを終了できるかを制御するのに役立つインスタンスのスケールイン保護を提供します。インスタンスでこの保護が有効になっている場合、Amazon EC2 Auto Scaling はインスタンスの最大有効期間に達した場合でもインスタンスを終了しません。
+ **インスタンスが起動前に終了する**: Auto Scaling グループにインスタンスが 1 つしかない場合、Amazon EC2 Auto Scaling はデフォルトでインスタンスを終了してから新しいインスタンスを起動するため、インスタンスの最大有効期間の機能により停止が発生する可能性があります。この動作を終了前に起動するように変更するには、「[インスタンスメンテナンスポリシー](ec2-auto-scaling-instance-maintenance-policy.md)」を参照してください。