このトピックでは、HTTPDNS のカスタム名前解決機能の原理と使用方法について説明します。
カスタム名前解決の概要
特定のビジネスシナリオでは、ドメイン名に対して特定の名前解決結果を返したい場合があります。HTTPDNS のカスタム名前解決機能を使用すると、ルールを設定したり、Function Compute を使用して特定のドメイン名の名前解決をカスタマイズしたりすることで、これを実現できます。
DNS over HTTPS (DoH) を使用する場合、名前解決されるドメイン名に対してカスタム名前解決はサポートされません。
利用シーン
グレースケールテスト:ドメイン名が
www.example.comであると仮定します。ビジネスの成長をサポートするために、IP アドレスが1.1.X.Xの新しいサービスをリリースしました。完全なリリース前に、特定のアプリのバージョン番号に対してChina Telecom_Shanghaiからのトラフィックでグレースケールテストを実行する必要があります。このトラフィックの場合、www.example.comのドメイン名の名前解決リクエストは1.1.X.Xを返す必要があります。トラフィックリルート:ある自動車会社のサービスドメイン名が
www.example.comであると仮定します。この会社は、特定のビジネスロジックに基づいて、DNS 名前解決プロセスで異なるリージョンのサーバーの IP アドレスを返す必要があります。たとえば、車のホームリージョンに基づいて、異なるサービスの IP アドレスを返すことができます。車のホームリージョンが広州の場合、その車からのwww.example.comに対する DNS クエリリクエストは、広州のサーバーの IP アドレスを返す必要があります。
仕組み
1. ドメイン名の追加
EMAS コンソールにログインします。
[HTTPDNS] > [名前解決管理] > [ドメイン] を選択し、名前解決するドメイン名を追加します。

2. カスタム名前解決ポリシーの追加
[解像度管理] > [カスタム解像度] を選択し、[カスタム解像度の追加] ボタンをクリックします。

ドメイン名を選択し、必要に応じてポリシータイプを選択して設定します。
3. (オプション) クライアントからのカスタムパラメーターの受け渡し
HTTPDNS のソフトウェア開発キット (SDK) または HTTP API を使用してリクエストを送信する際に、カスタム名前解決パラメーターを含めることで、より詳細なルーティングロジックを実行できます。詳細については、「クライアントからのカスタム名前解決パラメーターの受け渡し」をご参照ください。
4. ポリシーの有効化
ポリシーを追加しても、すぐには有効になりません。ポリシーリストで、[ステータス] 列のスイッチをオンにしてポリシーを有効にします。
ポリシーの有効化は重大な操作です。確認ダイアログボックスが表示されます。また、リスクコントロール検証がトリガーされる場合もあり、その場合は CAPTCHA の入力が必要です。

5. 名前解決結果の検証
設定が完了したら、オンラインテストツールを使用して名前解決結果を検証できます。詳細については、「カスタム名前解決機能のオンラインテスト」をご参照ください。
6. (オプション) カスタム名前解決ポリシーの管理
カスタム名前解決ポリシーを追加した後、ポリシーの無効化や削除などの操作を実行できます。詳細については、「カスタム名前解決ポリシーの管理」をご参照ください。
ポリシーの詳細
推奨シナリオ
ルールベースのポリシーを使用する場合:このポリシータイプは、キャリア、リージョン、またはデバイスタイプによるルーティングなど、要件が明確でロジックが単純なシナリオで使用します。このポリシーは、リアルタイムの動的計算が不要な場合に最適です。
Function Compute ベースのポリシーを使用する場合:このポリシータイプは、負荷分散、リアルタイムのデータ駆動型意思決定、または複数条件の判断など、複雑なロジックのシナリオで使用します。
ルールベースのポリシー
ルールベースのポリシーでは、特定のルールに基づいて名前解決をカスタマイズできます。ネットワーク回線をより正確に設定できます。異なる名前解決パラメーターを設定することで、異なるキャリアやリージョンからのユーザートラフィックを特定のエンドポイントに正確にルーティングできます。
手順は次のとおりです。
HTTPDNS コンソールで、特定のドメイン名に対してルールベースのカスタム名前解決ポリシーを作成します。
クライアントが SDK または HTTP API を介して DNS クエリリクエストを送信する際に、対応するカスタム名前解決パラメーターを含めます。
HTTPDNS サーバーがリクエストを受信すると、事前に設定されたマッチングルールに基づいて名前解決結果を返します。
詳細な設定手順については、「ルールベースのカスタム名前解決の設定」をご参照ください。
次の図は、ルールベースのポリシーの名前解決フローを示しています。
Function Compute ベースのポリシー
Function Compute ベースのポリシーは、Alibaba Cloud Function Compute を使用して、ポリシーに基づいてドメイン名へのアクセストラフィックを振り分けます。この方法は、ルールベースのポリシーよりも柔軟です。ビジネスロジックを Function Compute の関数として実装し、その関数を名前解決フックとして設定できます。これにより、より複雑なビジネス要件に対応できます。詳細な設定手順については、「Function Compute ベースのカスタム名前解決の設定」をご参照ください。
次の図は、Function Compute の仕組みを示しています。

