本トピックでは、HTTPDNS のカスタム解決の仕組み、およびその構成方法と使用方法について説明します。
カスタム解像度について
ビジネスシナリオにおいて、特定のドメイン名に対して特定の DNS 解決結果を返す必要がある場合があります。HTTPDNS のカスタム解決を使用して、これを実現できます。ルールまたは Alibaba Cloud Function Compute を使用して、カスタム解決を構成できます。
DNS over HTTPS (DoH) を介して解決されるドメインでは、カスタム解決はサポートされていません。
利用シーン
カナリアテスト: ご利用のドメインが
www.example.comであるとします。IP アドレス1.1.X.Xの新しいサービスをリリースしました。完全なロールアウトの前に、中国電信上海リージョンのユーザーに対してカナリアテストを実行したいと考えています。これらのユーザーの場合、www.example.comの DNS クエリは1.1.X.Xを返す必要があります。トラフィックルーティング: ある自動車会社が
www.example.comをサービスドメインとして使用しているとします。ビジネスロジックに基づいて、異なるリージョンのサーバーの IP アドレスを DNS 解決で返したいと考えています。たとえば、広州で登録された車両には広州のサーバーの IP アドレスを返します。広州で登録された車両がwww.example.comをクエリすると、DNS クエリは広州サーバーの IP アドレスを返します。
全体的な使用フロー
1. ドメインの追加
EMAS コンソール または にログインします。
解決管理 > ドメイン を選択します。解決するドメインを追加します。

2. カスタム解析の追加
[解像度管理] > [カスタム解像度] を選択します。[カスタム解像度の追加] をクリックします。

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

5. 解決結果の検証
構成後、オンラインテストツールを使用して解決結果をテストします。詳細については、「カスタム解決機能のオンラインテスト」をご参照ください。。
6. カスタム解決ポリシーの管理 (オプション)
カスタム解決ポリシーを追加した後、それを非アクティブ化または削除できます。詳細については、「カスタム解決ポリシーの管理」をご参照ください。。
ポリシーの説明
各ポリシータイプの使用時期
ルールポリシーを使用する場合: 要件が明確で、ロジックが単純な場合。例としては、ISP またはリージョン、あるいはデバイスタイプによるルーティングなどがあります。リアルタイムの動的計算は不要です。
Function Compute ポリシーを使用する場合: 複雑なロジックが必要な場合。例としては、負荷分散、リアルタイムの意思決定、または複数条件評価などがあります。
ルールポリシー
ルールポリシーを使用すると、マッチングルールを使用してカスタム解決の動作を定義できます。ネットワーク回線を詳細に構成できます。異なる解決パラメーターを設定することで、異なる ISP およびリージョンからのトラフィックを異なるサービスエンドポイントにルーティングします。
次の手順に従います。
HTTPDNS コンソールで、ドメインのカスタム解決ルールポリシーを作成します。
クライアントが SDK または HTTP API を使用して DNS クエリリクエストを送信する際、必要なカスタム解決パラメーターを含めます。
HTTPDNS サーバーはリクエストを受信し、ルールに基づいて最適な解決結果を返します。
ステップバイステップの手順については、「ルールベースのカスタム解決の構成」をご参照ください。。
ルールポリシーの解決フローを次に示します。
Function Compute ポリシー
Function Compute ポリシーは、Alibaba Cloud Function Compute にリンクしてドメインのトラフィックをルーティングします。これはルールポリシーよりも柔軟です。ビジネスロジックを Function Compute 関数に記述します。次に、その関数を解決フックとして構成します。これにより、複雑なビジネスニーズがサポートされます。ステップバイステップの手順については、「Function Compute ベースのカスタム解決の構成」をご参照ください。。
Function Compute のアーキテクチャを次に示します。

