機能

ヘルスチェックシナリオ

DNS応答を静的レコードを超えて — データセンター、アプリケーション、サービスヘルスがすべての判断を駆動します。

TR7ヘルスチェックシナリオはGTM判断を「データセンターはアップかダウンか?」のレベルにとどめません。HTTP、HTTPS、Oracle、その他のヘルスチェック結果は、データセンターごとの自動チェックとブールシナリオを組み合わせて、すべてのDNS応答に実際のサービスヘルスを反映します。 各データセンターについて、WANアクセス、LANアクセス、一般アクセス、インターネット状態、メンテナンスモードの自動チェックが利用可能です。ユーザー定義のHTTP/HTTPSコンテンツチェック、JSONata検証、Oracle接続性シナリオ、ADC側ヘルス結果はすべて同じ判断構造に追加できます。 シナリオエンジンはAND/OR組み合わせと否定条件をサポートします。例えば、データセンターが到達可能で、アプリケーションが健全で、データベースが応答していて、メンテナンスモードがオフの場合にのみ、レコードをDNS応答に含めることができます。状態が変化すると、影響を受けるレコードのみを再生成する必要があります。 結果として、TR7のヘルスチェックは単なる監視データではなく — DNSが返すIPを決定するライブ判断レイヤーです。

5
データセンターごとの自動ヘルスチェック(WAN、LAN、アクセス、インターネット、メンテナンスモード)
11
ヘルスチェックタイプ — TCP、UDP、HTTP、HTTPS、PING、DNS、FTP、FTPS、LDAP、LDAPS、Oracle
3
デフォルト連続成功/失敗閾値 — フラッピング保護

データセンターは健全に見えても、アプリケーション、データベース、アクセス経路がそうでない場合があります。

最も一般的なGTMの間違いは、データセンターヘルスを単一のアップ/ダウンフラグで管理することです。実際にはデータセンターは到達可能でもアプリケーションがダウンしていることがあり、アプリケーションは応答しても データベースが機能していないことがあり、WANリンクは開いていてもLAN側アクセスが失敗していることがあります。単一フラグのヘルスモデルはこれらの区別を捉えられません。

多くの組織では、ヘルスチェックとDNS応答の間のリンクは手動または断片化されています。監視システムがアラートを発し、運用チームがスクリプトを実行し、DNSレコードが手動で更新されるか、別の自動化が引き継ぎます。このチェーンは反応が遅く、重要な瞬間に人的エラーに対して脆弱です。

複雑なシナリオはさらに困難です。「DC1がインターネットアクセスを持ち、かつメンテナンス中でない場合に有効化し、それ以外の場合にはDC2のアプリケーションヘルスまたはDC3アクセスが正常ならバックアップレコードを返す」のような条件は、通常YAMLファイル、スクリプト、手動依存関係で管理されます。これによりGTM判断は理解または監査が困難な運用迷路となります。

フラッピングは現実のリスクです。ヘルスチェックが瞬間的に失敗し、DNSがすぐに変更されると、ユーザートラフィックが不必要に別の地域に移動されます。同様に、短い成功で問題が完全に解決される前にトラフィックが戻されることもあります。連続成功と失敗の閾値、状態保持ロジックがそのために不可欠です。

TR7ヘルスチェックシナリオは、データセンター、アプリケーション、データベース、メンテナンスモード、カスタムチェックを単一のブール判断レイヤーに組み合わせ、DNS応答を実際のサービスヘルスに直接バインドします。

当社のアプローチ

TR7は、自動データセンターチェック、手動ヘルスチェック、シナリオロジックを統一モデルで組み合わせてGTMヘルス判断を評価します。

自動および手動ヘルスチェックが同じシナリオに統合

データセンターごとの自動チェック、ユーザー定義のHTTP/HTTPS/Oracleチェック、ADCヘルス結果はすべて同じ判断構造内で使用できます。これにより、インフラとアプリケーションヘルスが単一のGTM判断にバインドされます。

ブール条件が複雑な判断を簡素化

シナリオはANDおよびORグループで構築されます。ヘルスチェック識別子に`!`を付加すると条件が否定され、メンテナンスモードのような状態を同じ判断内で否定条件として使用できます。

ヘルス状態が変化すると影響を受けるレコードのみが再評価

ヘルスチェック、シナリオ、DNSレコードの関係はグラフスタイルマップを通じて追跡されます。ヘルス状態が変化すると、影響を受けるシナリオとレコードのみが再評価されます。

コンテンツ検証がポート可用性だけでなくアプリケーション層をチェック

HTTPおよびHTTPSヘルスチェックは、ポートが開いているかだけでなく、ステータスコードと応答コンテンツを検証できます。JSONata式または単純なコンテンツチェックがアプリケーションが本当に健全な応答を返していることを確認します。

機能

TR7ヘルスチェックシナリオは、単純なアクセスチェックからマルチレイヤーアプリケーションおよびデータセンター判断まで、さまざまなGTMニーズをカバーします。

HTTPおよびHTTPSヘルスチェックがステータスコードと応答コンテンツを検証

TR7はHTTPおよびHTTPSチェックに対してメソッド、URI、ボディ、ヘッダー、想定ステータスコード、証明書検証、タイムアウトなどのパラメータをサポートします。したがってチェックは接続が確立できるかだけを測定せず — アプリケーションが正しいエンドポイントから正しい応答を返していることも検証し、GTM判断を実際のアプリケーション動作に近づけます。

JSONataコンテンツチェックがAPI応答を意味のある方法で検証

JSONを返すヘルスエンドポイントでは、JSONata式を使用して特定のフィールドを評価できます。`status = "ok"`のような式は、アプリケーションが応答しているだけでなく、期待されるヘルス状態を返していることを確認します。応答ボディは適切な構造に解析され、式はそれに対して評価されます。これにより現代的なJSON APIベースのアプリケーションに対するより信頼性の高いヘルス測定が得られます。

単純なコンテンツチェックが高速な文字列マッチングを提供

より単純なシナリオでは、応答ボディに特定の文字列の存在をチェックできます。このアプローチは、完全なJSONata式を必要としない単純なアプリケーションヘルスチェックに十分です。運用チームは既知の単語または固定状態がアプリケーション応答に現れることを確認することにDNS判断をバインドでき、チェックが迅速で理解しやすくなります。

OracleヘルスチェックがシナリオにDB層を追加

Oracleチェックは接続の確立、待機、コマンドの実行のためのステップを含むシナリオを通じて構成されます。結果は想定行数または想定テキストに基づいて評価されます。これにより、DNS応答をアプリケーション層だけでなくデータベース到達性にも結びつけることができ、重要なビジネスアプリケーションで「アプリケーションはアップだがデータベースが機能していない」というブラインドスポットを低減します。

5つの自動ヘルスチェックがすべてのデータセンターで利用可能

TR7はデータセンターごとに`wanAccess`、`lanAccess`、`access`、`internet`、`maintenanceMode`チェックを使用できます。これらのチェックは各データセンターの異なるアクセスおよび運用状態を独立して表します。メンテナンスモードのような状態は、肯定的なヘルスシグナルではなく、シナリオで否定条件として扱うことができ、DNS判断を運用現実により近いものにします。

ブールシナリオがAND、OR、否定条件をサポート

シナリオは条件グループ構造で構築されます。グループ内の条件はAND論理に従い、グループ間関係はORまたはANDが可能です。ヘルスチェック識別子に`!`を付加すると条件が反転され、`dcAccess AND NOT maintenanceMode`のような構造が可能になります。複雑なGTM判断はスクリプトを書かずに設計できます。

連続成功と失敗の閾値がフラッピングリスクを低減

ヘルスチェックには`requiredSuccess`と`requiredFailure`値を構成できます。デフォルトのアプローチでは、状態遷移が受け入れられる前に連続成功または失敗をカウントします。これにより、瞬間的なパケット損失、短いレイテンシスパイク、または一時的なサービス変動がDNS応答をすぐに変更することを防ぎ、GTM動作をより安定させます。

ローカルヘルス状態の永続化が再起動後の継続性を提供

ヘルスチェック状態はローカルファイルに永続化でき、システム再起動時に復元されます。これにより、すべてのヘルス状態を再起動ごとにゼロから再学習する必要がなくなります。この継続性は、多くのシナリオとレコードを持つ大規模GTM環境で特に重要であり、運用チームに再起動後のより予測可能な動作を提供します。

11のヘルスチェックタイプがGTMとADC調整に利用可能

TR7エコシステムではTCP、UDP、HTTP、HTTPS、PING、DNS、FTP、FTPS、LDAP、LDAPS、Oracleヘルスチェックが利用可能です。GTMとADCヘルス結果を調整することにより、DNS判断がサービスレイヤーの真の状態を反映できます。この広いタイプサポートにより、Webアプリケーションだけでなくマルチプロトコルエンタープライズサービスのヘルスモデルを構築できます。カスタムチェック要件のためのスクリプトライクなTCP送受信シナリオも利用可能です。

運用の深さ

ヘルスチェックシナリオが信頼できる動作をするためには、識別子形式、状態永続化、トリガーシーケンス、マスターノード制御、変更伝搬がすべて明確に管理される必要があります。

01

ヘルスチェックタイプ

シナリオエンジンはstatic、dcCheck、http、https、Oracleを含むヘルスチェックタイプを評価できます。より広いGTMとADCヘルスチェックファミリーと組み合わさり、マルチプロトコルサービス状態を判断構造に持ち込めます — 単一のHTTPチェックタイプに限定されないサービスアーキテクチャに重要です。

02

自動識別子形式

データセンターごとの自動ヘルスチェックは`auto||`形式を使用して識別されます。例えば、データセンターのインターネット状態は別の自動チェック識別子で表されます。この標準形式により、シナリオとレコードの関係を整理された方法で追跡できます。

03

手動ヘルスチェック識別子

ユーザー定義のヘルスチェックは一意の識別子で作成されます。これらの識別子はシナリオ条件で直接参照でき、同じHTTP、HTTPS、またはOracleチェックを複数のGTMシナリオで評価できることを意味します。

04

トリガーフロー

ヘルス状態が変化すると、関連するヘルスチェック状態が最初に更新されます。次にリンクされたシナリオが再評価され、必要に応じて動的構成が再生成されます。このフローにより、変更が制御された方法でDNS応答に伝搬します。

05

デフォルトシナリオ状態

`ALWAYS`や`NEVER`のような組み込みシナリオが固定判断を生成するために利用可能です。`ALWAYS`では、レコードは常に適格とみなされます。`NEVER`では、無効化動作が達成されます。これはテスト、一時的な取り下げ、無条件ルーティングに有用です。

06

マスターノード制御

トリガーアクションはGTMマスターノードでのみ実行されます。これにより、クラスタ内の複数のノードが同じアクションを繰り返し実行することを防ぎます。DRトリガー、Webhook、通知などのアクションには、この制御が運用上の安全性を提供します。

使用場面

WANおよびLANアクセスに基づくDNS判断

マルチサイト組織では、単一のアクセス経路に基づいてデータセンターがアップとみなされることを望まないかもしれません。TR7は`wanAccess OR lanAccess`のようなシナリオを使用して、異なるアクセス経路を同じDNS判断に組み合わせます。

アプリケーションとデータベースの両方が健全な場合にのみ応答

重要なビジネスアプリケーションでは、データセンター到達性だけでは不十分です。TR7は`dcAccess AND appHC AND dbHC`のようなシナリオを使用して、アプリケーションとOracleデータベースの両方が健全な場合にのみ関連IPをDNS応答に含めます。

メンテナンスモードがアクティブな場合のトラフィック停止

運用チームは、技術的に到達可能であってもメンテナンス中のデータセンターがトラフィックを受け取ることを望まないかもしれません。TR7は`dcAccess AND NOT maintenanceMode`のようなシナリオを使用して、メンテナンスロケーションをDNS応答から削除できます。

JSON APIヘルスに基づくGTMルーティング

現代的なアプリケーションはJSONエンドポイントを介してヘルス状態を公開できます。TR7は`status = "ok"`のようなJSONata式とHTTPSヘルスチェックを組み合わせて、DNS応答を実際のアプリケーションヘルスにバインドします。

よくある質問

ヘルスチェックシナリオと単純なアップ/ダウンチェックの違いは何ですか?
単純なアップ/ダウンチェックは、データセンターが技術的に到達可能かどうかのみを報告します。ヘルスチェックシナリオは、HTTP/HTTPSコンテンツ検証、JSONata式、Oracle接続性チェック、データセンターごとの自動チェックをAND/OR論理を使用して組み合わせます。したがってDNS応答は単なるインフラ到達性ではなく実際のサービスヘルスに基づきます。
DNS判断にメンテナンスモードをどう反映させますか?
TR7はすべてのデータセンターに`maintenanceMode`自動チェックを含みます。このチェックを否定として(`!`接尾辞を使用して)シナリオ条件に追加することで、メンテナンス中のデータセンターを技術的到達性を変更せずにDNS応答から除外できます。
フラッピングを防ぐために何ができますか?
TR7はヘルスチェックに対して`requiredSuccess`と`requiredFailure`パラメータをサポートします。デフォルト閾値は3回の連続成功または失敗です。これにより、瞬間的なパケット損失または一時的なサービス変動がDNS応答をすぐに変更することを防ぎ、GTM動作をより安定させます。
OracleデータベースヘルスをGTM判断にどう結びつけますか?
Oracleヘルスチェックは、接続の確立、待機、SQLコマンドの実行のためのステップを含むシナリオシーケンスを通じて構成されます。結果は想定行数または想定テキストに基づいて評価されます。このチェックはGTMシナリオに含めることができ、DNS応答もデータベース到達性に条件付けされます。
同じヘルスチェックを複数のDNSレコードに使用できますか?
はい。ユーザー定義のヘルスチェックは一意の識別子で作成され、複数のGTMシナリオで参照できます。シナリオとレコードの関係はグラフスタイルマップを通じて追跡されるため、ヘルス状態が変化すると影響を受けるシナリオとレコードのみが再評価され — 他のレコードは不必要に再生成されません。
GTMが再起動するとヘルスチェック状態はリセットされますか?
いいえ。ヘルスチェック状態はローカルファイルに永続化され、システム再起動時に復元されます。これにより、すべての状態を再起動ごとにゼロから再学習する必要がなくなります。多くのシナリオとレコードを持つ大規模GTM環境では、この継続性が運用予測可能性を向上させます。

DNS判断を実際のサービスヘルスにバインドする

HTTP、HTTPS、Oracle、データセンターチェックをブールシナリオに組み合わせます。ご自身の環境でライブセットアップをご案内します。