すべてのプロダクト
Search
ドキュメントセンター

HTTPDNS:フォールトインジェクションテスト

最終更新日:Dec 10, 2025

Android SDK の統合プロセスが完了したら、HTTPDNS のカスタム名前解決機能を使用して、ビジネスドメイン名を無効な IP アドレスに名前解決させることができます。これにより、統合が成功したかどうかを検証できます。本トピックでは、そのテスト方法と手順について説明します。

仕組み

HTTPDNS は、HTTP または HTTPS を介して Alibaba Cloud DNS サーバーに直接名前解決リクエストを送信します。このプロセスは、システムのローカル DNS をバイパスして、ネットワーク環境による名前解決の失敗を防ぎます。

フォールトインジェクションテストでは、HTTPDNS のカスタム名前解決機能を使用します。ターゲットビジネスドメイン名の名前解決結果を無効な IP アドレスに設定することで、制御可能な名前解決エラーを注入できます。このフォールトインジェクション環境でネットワークリクエストを送信すると、次のようになります。

  • リクエストの成功: システムは引き続きローカル DNS を使用して名前解決を行い、有効な IP アドレスを返します。これは、HTTPDNS の統合が失敗したことを示します。

  • リクエストの失敗: システムは HTTPDNS によって返された無効な IP アドレスを使用します。これは、HTTPDNS の統合が成功したことを示します。

前提条件

  • テストデバイス: インターネットに接続された Android フォンまたはエミュレーター。

  • アプリのステータス: EMAS HTTPDNS SDK がアプリに統合されていること。

  • テストドメイン名: Alibaba Cloud HTTPDNS コンソールで設定され、正しく名前解決されるビジネスドメイン名。

テストステップ

ステップ 1: 通常のネットワーク状態の確認

  1. テストデバイスを利用可能な Wi‑Fi ネットワークに接続し、デフォルトの DNS 設定を使用します。

    image

  2. HTTPDNS を無効にした状態でアプリを開きます。ホームページの読み込みや API の呼び出しなど、ドメイン名を使用するネットワークリクエストをトリガーします。

  3. リクエストが有効な応答を返すことを確認します。

説明

このステップでは、アプリとサービスが通常のネットワーク状態で正しく動作することを確認して、ベースラインを確立します。

ステップ 2: エラーの注入 (カスタム名前解決)

  1. EMAS コンソールにログインします。

  2. HTTPDNS サービスに移動します。左側のナビゲーションウィンドウで、[名前解決管理] > [カスタム名前解決] を選択します。image

  3. カスタム名前解決ルールを追加し、無効な IP アドレスに名前解決されるように設定します。詳細については、「ルールベースのカスタム DNS 名前解決の設定」をご参照ください。image

ステップ 3: フォールトインジェクション環境での検証

  1. HTTPDNS を有効にして、テストデバイスでアプリを起動します。

  2. ステップ 1 と同じビジネスリクエスト (ホームページの読み込みや API の呼び出しなど) をトリガーします。

  3. リクエストの結果を観察します。

    リクエスト結果

    結論

    ネットワークリクエストの失敗

    ドメイン名は HTTPDNS によって名前解決され、無効な IP アドレスが返されました。ネットワークリクエストは失敗しました。これは、HTTPDNS の統合が成功したことを示します。

    image

    ネットワークリクエストの成功

    • 最初のリクエストは成功します。これは、キャッシュミスによってローカル DNS にフォールバックした場合に発生する可能性があります。しばらく待ってからリトライしてください。

    • 複数のリクエストが成功した場合、システムは HTTPDNS パスではなく、引き続きローカル DNS を使用して名前解決を行っています。通常の IP アドレスを返し、リクエストを完了します。HTTPDNS の統合は失敗しました。

    image

    説明

    同期非ブロッキングインターフェイスを使用してドメイン名を名前解決する場合、事前解決 (setPreResolveHosts) を有効にし、期限切れの IP アドレス (setEnableExpiredIp) の使用を許可してください。これにより、ローカルキャッシュで名前解決の結果が確実に利用可能になります。キャッシュミスによるローカル DNS へのフォールバックを防ぎ、検証の精度が低下することを回避できます。