

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

# Auto Scaling グループに対してカスタムヘルスチェックを設定する
<a name="set-up-a-custom-health-check"></a>

カスタムヘルスチェックを使用して、Amazon EC2 Auto Scaling が提供する既存のヘルスチェックオプションを補完できます。カスタムヘルスチェックを他のヘルスチェックタイプと組み合わせることで、アプリケーションのニーズに合わせた包括的なヘルスモニタリングシステムを作成できます。

開始するには、カスタムテストを作成して、Auto Scaling グループのインスタンスが正しく動作し、受信トラフィックを処理できることを確認します。設定したヘルスチェックでインスタンスが応答していないことが検出された場合は、その特定のインスタンスを `Unhealthy` としてマークします。これにより、Amazon EC2 Auto Scaling はそのインスタンスをすぐに置き換えます。

インスタンスのヘルスステータスは、 AWS CLI または SDK を使用して Amazon EC2 Auto Scaling に直接送信できます。次の例は、 を使用してインスタンスのヘルスステータス AWS CLI を設定し、インスタンスのヘルスステータスを確認する方法を示しています。

次の [set-instance-health](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/set-instance-health.html) コマンドを使用して、指定したインスタンスのヘルスステータスを `Unhealthy` に設定します。

```
aws autoscaling set-instance-health --instance-id i-1234567890abcdef0 --health-status Unhealthy
```

デフォルトで、このコマンドはヘルスチェックの猶予期間を守りますが、`--no-should-respect-grace-period` オプションを含めることでこの動作を上書きし、猶予期間を守らないようにすることも可能です。

次の [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) コマンドを使用して、インスタンスのヘルスステータスが `Unhealthy` であることを確認します。

```
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg
```

次に示すのは、インスタンスのヘルスステータスが `Unhealthy` であり、インスタンスが終了中であることを示す応答の例です。

```
{
    "AutoScalingGroups": [
        {
            ....
            "Instances": [
                {
                    "ProtectedFromScaleIn": false,
                    "AvailabilityZone": "us-west-2a",
                    "LaunchTemplate": {
                        "LaunchTemplateName": "my-launch-template",
                        "Version": "1",
                        "LaunchTemplateId": "lt-1234567890abcdef0"
                    },
                    "InstanceId": "i-1234567890abcdef0",
                    "InstanceType": "t2.micro",
                    "HealthStatus": "Unhealthy",
                    "LifecycleState": "Terminating"
                },
                ...
            ]
        }
    ]
}
```