Auto Scaling グループのカスタムヘルスチェックを設定する - Amazon EC2 Auto Scaling

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

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

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

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

または を使用して AWS CLI 、インスタンスのヘルスステータスを Amazon EC2 Auto Scaling に直接送信できますSDK。次の例は、 を使用してインスタンスのヘルスステータス 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" }, ... ] } ] }