概要
Alibaba Cloud DNS は、ホストレコードに複数の IP アドレスまたはドメイン名を設定するための重み付きラウンドロビンを提供します。DNS リクエストに応答する際に、Alibaba Cloud DNS は、IP アドレスまたはドメイン名の事前設定された重みに基づいて、違った DNS レコードを返します。これにより、トラフィックは違ったサーバーに転送され、負荷分散が実現されます。
前提条件
同じタイプ (Aまたは CNAME)、ホストレコード、および ISP 回線を持つ DNS レコードであること。
制限事項
重み付けラウンドロビンは、同じタイプ、ホストレコード、および ISP 回線を持つ DNS レコードに適用されます。次の表に、これらの制限の詳細を示します。
項目 | サポート対象 | サポート対象外 |
---|---|---|
タイプ | A または CNAME | 他のタイプ |
状態 | 有効 | 一時停止中、ロック中、およびワイルドカード DNS レコード |
重み付きラウンドロビン | DNS レコードのタイプ、ホストレコード、および ISP 回線が同一の場合、無料版では最大 10 個の DNS レコードに対する重み付きラウンドロビンをサポートします。有料版は、最大 90 個の DNS レコードに対する重み付きラウンドロビンをサポートします。 注意:IP アドレスまたはドメイン名を持つ 3 個の DNS レコードのデフォルトの重み比は 1:1:1 です。 |
— |
ISP 回線 | デフォルト回線に設定することも、A または CNAME レコードで指定される回線に設定することも可能です。 注意:重みは、回線ごとに独立しています。 |
複数回線の DNS レコード |
設定
Alibaba Cloud DNS コンソールにログインします。[ドメイン名解決の管理] ページが表示されます。
[ドメイン] タブで、設定するドメイン名をクリックします。
表示される [DNS 設定] ページで、左側のナビゲーションペインの [重み付きラウンドロビン] をクリックします。表示されるページで、ドメイン名に対応する [アクション] 列の [有効] をクリックします。デフォルトの重み比は 1:1 です。デフォルトの重み比が保持される場合、Alibaba Cloud DNS はこの比に基づいて DNS リクエストに IP アドレスを返します。
[重み付きラウンドロビン] ページで、サブドメインに対応する [アクション] 列の [重みの設定] をクリックします。重み比を設定すると、Alibaba Cloud DNS は、この比に基づいて DNS レスポンスで IP アドレスを返します。
効果
重み付けラウンドロビンが無効の場合
IP アドレスが、それぞれ 1.1.1.1
、2.2.2.2
、および 3.3.3.3
である 3 つのサーバーがあると仮定します。これらのサーバーの IP アドレスは、1 つのドメイン名にマップされています。次の表は、そのドメイン名の DNS レコードを説明しています。
タイプ | ホストレコード | ISP 回線 | レコード値 |
---|---|---|---|
A | www | デフォルト | 1.1.1.1 |
A | www | デフォルト | 2.2.2.2 |
A | www | デフォルト | 3.3.3.3 |
ローカル DNS が Alibaba Cloud DNS にアクセスすると、Alibaba Cloud DNS は 3 つの DNS レコードすべてをローカル DNS に返します。ローカル DNS はすべての IP アドレスを Web サイト訪問者のブラウザーに送信し、ブラウザーはランダムに IP アドレスの 1 つを選びアクセスします。
権威 DNS サーバーは、サーバーのワークロードをある程度減らすことができますが、サーバーを区別したり、各サーバーの現在の実行状態を反映したりすることはできません。
デフォルトの重みの場合
重み付けラウンドロビンが有効な場合、デフォルトの重み比は 1:1:1 です。Alibaba Cloud DNS は、デフォルトの重み比に基づいて 3 つの IP アドレスを順番に返し、Web サイト訪問者のアクセスリクエストに応答します。返される DNS レコードは次の通りです。
ユーザー 1 のアクセスに 1.1.1.1 を返却
ユーザー 2 のアクセスに 2.2.2.2 を返却
ユーザー 3 のアクセスに 3.3.3.3 を返却
ユーザー 4 のアクセスに 1.1.1.1 を返却
ユーザー 5 のアクセスに 2.2.2.2 を返却
ユーザー 6 のアクセスに 3.3.3.3 を返却
...
重みが指定された場合
重み付きラウンドロビンを有効にすれば、重みの設定が可能です。Alibaba Cloud DNS は、この比率に基づいて IP アドレスを DNS リクエストに返します。トラフィックも同様に、この重み比に基づいて違ったサーバーに転送されます。たとえば、上記の 3 つの DNS レコードの重み比が 2:1:1 に設定されている場合、DNS レコードは次のように返されます。
ユーザー 1 のアクセスに 1.1.1.1 を返却
ユーザー 2 のアクセスに 2.2.2.2 を返却
ユーザー 3 のアクセスに 3.3.3.3 を返却
ユーザー 4 のアクセスに 1.1.1.1 を返却
ユーザー 5 のアクセスに 1.1.1.1 を返却
ユーザー 6 のアクセスに 2.2.2.2 を返却
...
注意
テスト中には、重み設定に基づいた DNS レコードが返されない場合があります。これはよくあることです。原因は、重み付きラウンドロビンが、DNS レコード内の IP アドレスの重みに基づいてトラフィックをスケジュールする、粒度の粗い方法であるためです。重み付きラウンドロビンは、ローカル DNS からのリクエストを処理するように設定されています。しかしながら、ローカル DNS は権威 DNS (Alibaba Cloud DNS) に対して、有効期間 (TTL, Time to Live) 内には 1 回だけしかリクエストしないのです。
たとえば、上海と北京の両方のユーザーが同じドメイン名にアクセスすることを考えます。上海ユーザーはローカル DNS A を使用し、北京ユーザーはローカル DNS B を使用すると仮定します。ローカル DNS A とローカル DNS B が Alibaba Cloud DNS へのリクエストを送ると、Alibaba Cloud DNS は重み設定に基づいて IP アドレスを返します。ただし、同じローカル DNS を使用するすべてのユーザーは、TTL 期間中は同じ IP アドレスを取得します。