Auto Scaling グループに対してカスタムヘルスチェックを設定する - アマゾン EC2 Auto Scaling

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

Auto Scaling グループに対してカスタムヘルスチェックを設定する

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

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

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

次の set-instance-health コマンドを使用して、指定したインスタンスのヘルスステータスを Unhealthy に設定します。

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

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

次の describe-auto-scaling-groups コマンドを使用して、インスタンスのヘルスステータスが 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" }, ... ] } ] }