Alibaba Cloud DNS の重み付け設定では、同じホストレコードと同じ DNS 回線に対して、IP アドレスや CNAME などの複数のレコード値を設定できます。クエリに応答する際、DNS サーバーは設定された重みに基づいてレコード値を返します。この機能により、DNS トラフィックを異なるサーバーに分散させ、負荷分散を実現します。
前提条件
重み付け設定を有効にするには、ドメイン名の同じホストレコードと DNS 回線に対して、複数の A レコード、CNAME レコード、または AAAA レコードが存在する必要があります。
重み付け設定が無効な場合:
A、AAAA、NS、MX、TXT レコードの場合:Alibaba Cloud DNS は指定された回線のすべてのレコードを返します。その後、ローカル DNS サーバーがクライアントに返すレコードを決定します。ローカル DNS サーバーがすべてのアドレスを返した場合、クライアントはランダムに 1 つを選択して使用します。
CNAME レコードの場合:Alibaba Cloud DNS はレコードの 1 つだけを返します。
制限事項
制限 | サポート対象 | サポート対象外 |
レコードタイプ | A レコード、CNAME レコード、AAAA レコード。 | その他のレコードタイプ。 |
レコードステータス | 有効なレコード。 | 一時停止またはロックされたレコード、およびワイルドカード DNS レコード。 |
DNS レコードの上限 | 単一のドメイン名、単一の DNS 回線において、Free Edition では最大 10 個、有料版 (paid editions) では最大 90 個の DNS レコードに対して重み付けを設定できます。 | 該当なし。 |
重み付け値のルール | 重みは 0 から 100 の範囲で設定できます。デフォルトの重み付け比率は 1:1 です。重みを 0 に設定した場合、Alibaba Cloud DNS はその DNS レコードを返しません。 | 該当なし。 |
行の解析 | デフォルト回線または特定の回線に対して、重み付け A レコードを設定できます。 説明 異なる回線の重みは互いに独立しています。 | 回線ごとに負荷分散を有効または無効にできます。 |
操作手順
初回 DNS レコードの追加
Alibaba Cloud DNS - 権威ゾーン ページで、ドメイン名をクリックして 解決設定 ページを開きます。
解決設定 ページで、Add Record をクリックします。
デフォルトでは、同じホストと回線に複数のレコードを追加すると、重み付け設定が 1:1:1 の比率で有効になります。DNS 応答では、Alibaba Cloud DNS はこの 1:1:1 の重み付けポリシーに基づいて IP アドレスを返します。

重み付け設定の変更
Alibaba Cloud DNS - Authoritative Zone ページで、対象のドメイン名をクリックして 解決設定 ページを開きます。
解決設定 ページで、Edit の横にあるドロップダウンボタン
をクリックし、次に レコードセットを変更する をクリックします。
[レコードセットの編集] ダイアログボックスで、レコード値と重みを変更します。

結果
重み付け設定がない場合の効果
IP アドレスが 1.1.XX.XX、2.2.XX.XX、3.3.XX.XX の 3 つのサーバーがあるとします。これらのサーバーは、単一のドメイン名に対して同じサービスを提供し、以下の 3 つの A レコードで設定されています。
レコードタイプ | ホストレコード | 回線の解析 | レコード値 |
A | www | デフォルト | 1.1.XX.XX |
A | www | デフォルト | 2.2.XX.XX |
A | www | デフォルト | 3.3.XX.XX |
ローカル DNS サーバーが Alibaba Cloud DNS にクエリを送信すると、Alibaba Cloud DNS は 3 つすべての DNS レコードをローカル DNS サーバーに返します。ローカル DNS サーバーがすべての IP アドレスを返す場合、訪問者のブラウザはランダムにそのうちの 1 つにアクセスします。
負荷分散機能のない権威 DNS サーバーの場合、この方法で単一サーバーの負荷を軽減できます。ただし、サーバーを区別したり、現在の稼働状況を反映したりすることはできません。
デフォルトの重み付けの効果
重み付け設定がデフォルトの 1:1:1 の比率で有効になっている場合、Alibaba Cloud DNS はラウンドロビンを使用して、クエリへの応答として 3 つの IP アドレスを順番に返します。DNS クエリの結果は次のようになります。
リージョン1からのアクセス、1.1.XX.XX を返します
リージョン2からのアクセス、2.2.XX.XX を返します
リージョン3からのアクセス、3.3.XX.XX を返します
リージョン4からのアクセス、1.1.XX.XX を返します
リージョン5からのアクセス、2.2.XX.XX を返します
リージョン6からのアクセス、3.3.XX.XX を返します
...カスタムの重み付けの効果
重み付けを有効にして設定すると、DNS 応答でプリセットされた重みに基づいて IP アドレスが返されます。これにより、指定された比率に従って DNS トラフィックを分散できます。たとえば、3 つの DNS レコードの重み付け比率を 2:1:1 に設定した場合、DNS クエリの結果は次のようになります。
リージョン1からのアクセス、1.1.XX.XX を返します
リージョン2からのアクセス、2.2.XX.XX を返します
リージョン3からのアクセス、3.3.XX.XX を返します
リージョン4からのアクセス、1.1.XX.XX を返します
リージョン5からのアクセス、1.1.XX.XX を返します
リージョン6からのアクセス、2.2.XX.XX を返します
...テスト中に、DNS クエリの結果が重み付け設定と一致しない場合があることに気付くかもしれません。これは正常な動作です。加重ラウンドロビンは、ローカル DNS サーバーのリクエストを対象とした粗粒度のトラフィックスケジューリング方法です。ローカル DNS サーバーは、Time to Live (TTL) 期間内に権威 DNS サーバー (Alibaba Cloud DNS) に 1 回だけクエリを送信します。
たとえば、ご利用のドメイン名が上海と北京のユーザーからアクセスされるとします。上海のユーザーは localdnsA を使用し、北京のユーザーは localdnsB を使用すると仮定します。localdnsA と localdnsB が Alibaba Cloud DNS にクエリリクエストを送信すると、Alibaba Cloud DNS は設定された重み付けポリシーに基づいて応答します。ただし、TTL 期間内では、同じローカル DNS サーバーを使用するすべてのユーザーが同じクエリ結果を受け取ります。