コンテンツにスキップ

ラウンドロビンDNS

トラフィックを複数のサーバーにランダムに分散させるには、同じホスト名に対して複数のDNS AまたはAAAAレコードを設定します。

この設定は、シンプルなラウンドロビン負荷分散に使用します。トラフィック分配のより細かい制御が必要な場合(自動フェイルオーバー、インテリジェントルーティングなどを含む)、アドオン負荷分散サービスを設定してください。

例のシナリオ

以下の例は、www.example.com向けのトラフィックをどのように分配するかを示しています。例ではAレコードを使用していますが、AAAAレコードを使用することもできます。

アカウントを作成し、example.comネームサーバーを更新した後、wwwサブドメインのために複数のDNSレコードを作成するかもしれません:

タイプ名前IPv4アドレス
Awww192.0.2.1
Awww192.0.2.2
Awww192.0.2.3

DNSルーティングの正確な動作は、各レコードのプロキシステータスに依存します。

すべてのレコードがプロキシされていない場合

関連するすべてのレコードがプロキシされていない場合、Cloudflareのネームサーバーへのリクエストは、以前に追加した3つのAレコードを返します。

各クライアント(多くの場合はブラウザ)は、どのIPアドレスにリクエストを送信するかを決定します。1つのIPアドレスが失敗した場合、クライアントは別のオプションを選択します。すべてのリクエストは、オリジンサーバー(192.0.2.X)に直接送信されます。

すべてのレコードがプロキシされている場合(推奨)

関連するすべてのレコードがプロキシされている場合、Cloudflareのネームサーバーへのリクエストは、CloudflareのIPアドレスのリストから2つのAレコードを返します。

各クライアント(多くの場合はブラウザ)は、どのCloudflareのIPアドレスにリクエストを送信するかを決定します。Cloudflareはそのリクエストを受け取り、オリジンサーバーに連絡する必要がある場合は、DNSレコードに指定された3つのIPアドレスのうちの1つ(192.0.2.X)を選択します。

オリジンサーバーへのリクエストを減らすだけでなく、この設定により、アプリケーションはCloudflareのゼロダウンタイムフェイルオーバーを活用できます。1つのIPアドレスへのリクエストが失敗した場合、Cloudflareは自動的に同じホスト名に関連する他のIPアドレスへのリクエストを再試行します。この動作により、エンドユーザーがダウンタイムを経験することを防ぎます。

プロキシされていないレコードとプロキシされているレコード

同じホスト名に関連するプロキシされているレコードとプロキシされていないレコードが混在している場合、リクエストはすべてのプロキシされているレコードがあるかのように行われます。

このアプローチは、予期しない動作を引き起こす可能性があるため、通常は推奨されません。たとえば、2つのプロキシされていないレコードと1つのプロキシされているレコードがある場合、Cloudflareはすべてのレコードをプロキシされているものとして扱います。しかし、単一のプロキシされているレコードを削除すると、残りの2つのプロキシされていないレコードは即座にプロキシされていないものとして扱われます。

DNSレコードに変更を加える際に驚きを避けるために、すべてプロキシされているか、すべてプロキシされていないレコードを使用することをお勧めします。