Health checks for your target groups - Elastic Load Balancing

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

Health checks for your target groups

Application Load Balancer は、ステータスをテストするため、登録されたターゲットに定期的にリクエストを送信します。これらの検査は、 health checks.

各ロードバランサーノードは、ロードバランサーに対して有効になっているアベイラビリティーゾーンの正常なターゲットにのみ、リクエストをルーティングします。各ロードバランサーノードは、ターゲットが登録されているターゲットグループのヘルスチェック設定を使用して、各ターゲットの状態を確認します。ターゲットは、登録後に正常と見なされるためには、1 つのヘルスチェックに合格する必要があります。各ヘルスチェックが完了すると、ロードバランサーノードはヘルスチェック用に確立された接続を終了します。

ターゲットグループに異常な登録済みターゲットのみが含まれている場合、ロードバランサーノードは異常なターゲット間でリクエストをルーティングします。

ヘルスチェックでは WebSocket はサポートされません。

Health check settings

次の表の説明に従って、ターゲット グループ内のターゲットのヘルス チェックを構成します。表で使用されている設定名は、APIで使用される名前です。ロードバランサーは、指定されたポート、プロトコル、および ping パスを使用して、HealthCheckIntervalSeconds 秒ごとに、登録された各ターゲットにヘルスチェックリクエストを送信します。各ヘルスチェックリクエストは独立しており、結果は間隔全体で存続します。ターゲットが応答するまでにかかる時間は、次のヘルスチェックリクエストまでの間隔に影響を与えません。ヘルスチェックが UnhealthyThresholdCount 連続失敗数のしきい値を超えると、ロードバランサーはターゲットをサービス停止中の状態にします。ヘルスチェックが HealthyThresholdCount 連続成功数のしきい値を超えると、ロードバランサーはターゲットを実行中の状態に戻します。

設定 説明:

HealthCheckProtocol

ターゲットでヘルスチェックを実行するときにロードバランサーが使用するプロトコル。使用可能なプロトコルは HTTP および HTTPS です。デフォルトは HTTP プロトコルです。

HealthCheckPort

ターゲットでヘルスチェックを実行するときにロードバランサーが使用するポート。デフォルトでは、各ターゲットがロードバランサーからトラフィックを受信するポートが使用されます。

HealthCheckPath

ヘルスチェックのターゲットの送信先である ping パス。有効な URI を指定します (/path?query)。デフォルト: 。

HealthCheckTimeoutSeconds

ヘルスチェックを失敗と見なす、ターゲットからレスポンスがない時間 (秒単位)。範囲は 2~120 秒です。ターゲットタイプが instance または ip の場合のデフォルトは 5 秒で、ターゲットタイプが lambda の場合のデフォルトは 30 秒です。

HealthCheckIntervalSeconds

個々のターゲットのヘルスチェックの概算間隔 (秒単位)。範囲は 5~300 秒です。ターゲットタイプが instance または ip の場合のデフォルトは 30 秒で、ターゲットタイプが lambda の場合のデフォルトは 35 秒です。

HealthyThresholdCount

異常なターゲットが正常であると見なされるまでに必要なヘルスチェックの連続成功回数。範囲は 2~10 です。デフォルトは 5 です。

UnhealthyThresholdCount

ターゲットが異常であると見なされるまでに必要なヘルスチェックの連続失敗回数。範囲は 2~10 です。デフォルトは 2 です。

Matcher

ターゲットからの正常なレスポンスを確認するために使用する HTTP コード。可能な値は 200 ~ 499 です。複数の値(例:「200.202」)または値の範囲(例:「200-299」)を指定できます。デフォルト値は 200 です。

これを 成功コード コンソールにあります。

Target health status

ロードバランサーがターゲットにヘルスチェックリクエストを送信する前に、ターゲットグループに登録し、リスナールールでターゲットグループを指定して、ターゲットのアベイラビリティーゾーンがロードバランサーに対して有効になっていることを確認する必要があります。ターゲットがロードバランサーからリクエストを受信する前に、最初のヘルスチェックに合格する必要があります。ターゲットが最初のヘルスチェックに合格すると、ステータスは Healthy になります。

次の表は、登録されたターゲットのヘルスステータスの可能値を示しています。

説明:

initial

ロードバランサーは、ターゲットを登録中か、ターゲットで最初のヘルスチェックを実行中です。

関連理由コード: Elb.RegistrationInProgress | Elb.InitialHealthChecking

healthy

ターゲットは正常です。

関連理由コード: なし

unhealthy

ターゲットはヘルスチェックに応答しなかったか、ヘルスチェックに合格しませんでした。

関連理由コード: Target.ResponseCodeMismatch | Target.Timeout | Target.FailedHealthChecks | Elb.InternalError

unused

ターゲットがターゲットグループに登録されていないか、ターゲットグループがロードバランサーのリスナールールで使用されていないか、ロードバランサーに対して有効ではないアベイラビリティーゾーンにターゲットがあるか、ターゲットが停止または終了状態にあります。

関連理由コード: Target.NotRegistered | Target.NotInUse | Target.InvalidState | Target.IpUnusable

draining

ターゲットは登録解除中で、Connection Draining 中です。

関連する理由コード : Target.DeregistrationInProgress

unavailable

ターゲットグループのヘルスチェックは無効になっています。

関連する理由コード : Target.HealthCheckDisabled

Health check reason codes

ターゲットのステータスが Healthy 以外の値の場合、API は問題の理由コードと説明を返し、コンソールのツールヒントで同じ説明が表示されます。Elb で始まる理由コードはロードバランサー側で発生し、Target で始まる理由コードはターゲット側で発生します。

理由コード 説明:

Elb.InitialHealthChecking

最初のヘルスチェックが進行中です

Elb.InternalError

内部エラーのため、ヘルスチェックに失敗しました

Elb.RegistrationInProgress

ターゲットの登録中です

Target.DeregistrationInProgress

ターゲットの登録解除中です

Target.FailedHealthChecks

ヘルスチェックに失敗しました

Target.HealthCheckDisabled

ヘルスチェックは無効になっています。

Target.InvalidState

ターゲットが停止状態にあります

ターゲットは終了状態にあります

ターゲットは終了状態か、または停止状態にあります

ターゲットは無効な状態にあります

Target.IpUnusable

IP アドレスはロードバランサーによって使用されているので、ターゲットとして使用できません

Target.NotInUse

ターゲットグループは、ロードバランサーからトラフィックを受信するように設定されていません

ロードバランサーが有効になっていないアベイラビリティーゾーンにターゲットがあります

Target.NotRegistered

ターゲットはターゲットグループに登録されていません

Target.ResponseCodeMismatch

次のコードで健全性チェックに失敗しました: [code]

Target.Timeout

リクエストがタイムアウトしました

Check the health of your targets

ターゲットグループに登録されたターゲットのヘルスステータスをチェックできます。

コンソールを使用してターゲットのヘルスステータスをチェックするには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [LOAD BALANCING] で [ターゲットグループ] を選択します。

  3. ターゲットグループを選択します。

  4. [ターゲット] タブの [ステータス] 列は、各ターゲットのステータスを示します。

  5. ステータスの値が Healthy 以外の場合は、詳細についてツールヒントを参照してください。

AWS CLI を使用してターゲットのヘルスステータスをチェックするには

describe-target-health コマンドを使用します。このコマンドの出力にはターゲットのヘルス状態が含まれます。ステータスの値が Healthy 以外の場合は、理由コードも出力に含まれています。

異常なターゲットに関する E メール通知を受信するには

CloudWatch アラームを使用して、異常なターゲットに関する詳細を送信する Lambda 関数をトリガーします。詳しい手順については、次のブログ記事を参照してください。ロードバランサーの不健全なターゲットの特定.

Modify the health check settings of a target group

ターゲットグループのヘルスチェック設定はいつでも変更できます。

コンソールを使用してターゲットグループのヘルスチェック設定を変更するには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [LOAD BALANCING] で [ターゲットグループ] を選択します。

  3. ターゲットグループを選択します。

  4. [ヘルスチェック] タブで、[編集] を選択します。

  5. [ターゲットグループの編集] ページで、必要に応じて設定を変更し、[保存] を選択します。

AWS CLI を使用してターゲットグループのヘルスチェック設定を変更するには

modify-target-group コマンドを使用します。