Network Load Balancer ターゲットグループのヘルスチェック - Elastic Load Balancing

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

Network Load Balancer ターゲットグループのヘルスチェック

ターゲットを 1 つ以上のターゲットグループに登録します。ロードバランサーは、登録プロセスが完了し、ターゲットが最初のヘルスチェックに合格するとすぐに、新しく登録されたターゲットへのリクエストのルーティングを開始します。登録プロセスが完了し、ヘルスチェックが開始されるまで数分かかることがあります。

Network Load Balancers はアクティブおよびパッシブヘルスチェックを使用して、ターゲットがリクエストを処理できるかどうかを判断します。デフォルトでは、各ロードバランサーノードは、アベイラビリティーゾーン内の登録済みターゲット間でのみリクエストをルーティングします。クロスゾーン負荷分散を有効にすると、各ロードバランサーノードは、有効なすべてのアベイラビリティーゾーンの正常なターゲットにリクエストをルーティングします。詳細については、「クロスゾーンロードバランサー」を参照してください。

パッシブのヘルスチェックでは、ロードバランサーはターゲットの接続への応答状態を確認します。パッシブのヘルスチェックでは、ロードバランサーはアクティブのヘルスチェックで異常が報告される前に異常なターゲットを検出できます。パッシブなヘルスチェックは無効、設定、または監視することはできません。パッシブヘルスチェックはUDPトラフィックではサポートされておらず、維持が有効になっているターゲットグループもサポートされません。詳細については、「スティッキーセッション」を参照してください。

ターゲットが異常になった場合、ロードバランサーは、異常なターゲットがロードバランサーをフェイルオープンにトリガーしない限り、ターゲットに関連付けられたクライアント接続で受信したパケットTCPRSTの を送信します。

ターゲットグループに有効なアベイラビリティーゾーンに正常なターゲットがない場合、リクエストをそのアベイラビリティーゾーンのターゲットにルーティングできないDNSように、対応するサブネットの IP アドレスを から削除します。有効なすべてのアベイラビリティーゾーン内で、すべてのターゲットが同時にヘルスチェックに失敗すると、ロードバランサーはオープンに失敗します。Network Load Balancer は、空のターゲットグループがある場合にもフェイルオープンします。フェールオープンの効果は、ヘルスステータスに関わらず、有効なすべてのアベイラビリティーゾーン内のすべてのターゲットへのトラフィックを許可することです。

ターゲットグループがHTTPSヘルスチェックで設定されている場合、登録されたターゲットが 1.3 TLS のみをサポートしている場合、そのターゲットはヘルスチェックに失敗します。これらのターゲットは、1.2 TLSなどの以前のバージョンの TLS をサポートしている必要があります。

HTTP または HTTPSヘルスチェックリクエストの場合、ホストヘッダーには、ターゲットの IP アドレスとヘルスチェックポートではなく、ロードバランサーノードの IP アドレスとリスナーポートが含まれます。

Network Load Balancer にTLSリスナーを追加すると、リスナー接続テストが実行されます。TLS 終了によってTCP接続も終了すると、ロードバランサーとターゲットの間に新しいTCP接続が確立されます。したがって、ロードバランサーからTLSリスナーに登録されているターゲットに送信されたこのテストTCPの接続が表示される場合があります。これらのTCP接続は、Network Load Balancer の送信元 IP アドレスを持ち、接続にデータパケットが含まれていないため、識別できます。

UDP サービスの場合、ターゲットグループの非UDPヘルスチェックを使用してターゲットの可用性をテストできます。利用可能なヘルスチェック (TCP、HTTP、または HTTPS) とターゲット上の任意のポートを使用して、UDPサービスの可用性を確認できます。ヘルスチェックを受信しているサービスが失敗した場合、ターゲットは使用不可とみなされます。UDP サービスのヘルスチェックの精度を向上させるには、ヘルスチェックポートをリッスンするサービスを設定してUDPサービスのステータスを追跡し、サービスが利用できない場合はヘルスチェックに失敗します。

ヘルスチェックの設定

以下の設定を使用して、ターゲットグループのターゲットのアクティブなヘルスチェックを設定します。ヘルスチェックがUnhealthyThresholdCount連続して失敗した場合、ロードバランサーはターゲットをサービス停止にします。ヘルスチェックがHealthyThresholdCount連続した成功を超えると、ロードバランサーはターゲットを稼働状態に戻します。

設定 説明 デフォルト

HealthCheckProtocol

ターゲットでヘルスチェックを実行するときにロードバランサーが使用するプロトコル。可能なプロトコルは、HTTP、HTTPS、および ですTCP。デフォルトはTCPプロトコルです。ターゲットタイプが の場合alb、サポートされているヘルスチェックプロトコルは HTTPおよび ですHTTPS。

TCP

HealthCheckPort

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

各ターゲットがロードバランサーからトラフィックを受信するポート。

HealthCheckPath

〔HTTP/HTTPS ヘルスチェック] ヘルスチェックのターゲットの送信先であるヘルスチェックパス。デフォルトは / です。

/

HealthCheckTimeoutSeconds

ヘルスチェックを失敗と見なす、ターゲットからレスポンスがない時間 (秒単位)。範囲は 2~120 秒です。デフォルト値は、 の場合は 6 秒、 HTTPおよび TCPHTTPSヘルスチェックの場合は 10 秒です。

HTTP ヘルスチェックの場合は 6 秒、 TCPおよび HTTPSヘルスチェックの場合は 10 秒。

HealthCheckIntervalSeconds

個々のターゲットのヘルスチェックの概算間隔 (秒単位)。範囲は 5 ~ 300 秒です。デフォルト値は 30 秒です。

重要

Network Load Balancer のヘルスチェックは分散され、コンセンサスメカニズムを使用してターゲットのヘルスを判断します。そのため、ターゲットは設定されているヘルスチェック数よりも多くのヘルスチェックを受けます。HTTP ヘルスチェックを使用している場合にターゲットへの影響を減らすには、静的HTMLファイルなどのターゲットに対してより単純な送信先を使用するか、TCPヘルスチェックに切り替えます。

30 秒

HealthyThresholdCount

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

5

UnhealthyThresholdCount

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

2

マッチャー

〔HTTP/HTTPS ヘルスチェック] ターゲットからの正常なレスポンスをチェックするときに使用するHTTPコード。範囲は 200 から 599 です。デフォルトは 200~399 です。

200-399

ターゲットヘルスステータス

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

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

説明

initial

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

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

healthy

ターゲットは正常です。

関連する理由コード:なし

unhealthy

ターゲットがヘルスチェックに応答しなかったか、ヘルスチェックに失敗したか、ターゲットが停止状態です。

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

draining

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

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

unhealthy.draining

ターゲットがヘルスチェックに応答しなかったか、ヘルスチェックに失敗して猶予期間に入った。ターゲットは既存の接続をサポートしており、この猶予期間中は新しい接続を受け付けません。

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

unavailable

ターゲットヘルスは使用できません。

関連する理由コード : Elb.InternalError

unused

ターゲットがターゲットグループに登録されていない、ターゲットグループがリスナールールで使用されていない、またはターゲットが有効化されていないアベイラビリティーゾーンにある。

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

ヘルスチェックの理由コード

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

理由コード 説明

Elb.InitialHealthChecking

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

Elb.InternalError

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

Elb.RegistrationInProgress

ターゲットの登録中です

Target.DeregistrationInProgress

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

Target.FailedHealthChecks

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

Target.InvalidState

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

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

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

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

Target.IpUnusable

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

Target.NotInUse

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

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

Target.NotRegistered

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