複数のサーバーにトラフィックをランダムに分散するには、同じホスト名に対して複数の DNS A または AAAA レコードを設定します。
この構成は、単純な ラウンドロビン負荷分散 ↗ 向けです。自動フェイルオーバーや経路の最適化など、より細かいトラフィック制御が必要な場合は、アドオンの Load Balancing を設定してください。
次の例では、www.example.com 向けのトラフィックを分散する方法を示します。例では A レコードを使いますが、AAAA レコードでも同じです。
example.com の アカウント作成 と ネームサーバーの更新 のあと、www 向けに 複数のサブドメイン DNS レコードを作成 できます。
| タイプ | 名前 | IPv4 アドレス |
|---|---|---|
| A | www |
192.0.2.1 |
| A | www |
192.0.2.2 |
| A | www |
192.0.2.3 |
実際の DNS ルーティングの動作は、各レコードの プロキシステータス によって変わります。
関連するレコードがすべてプロキシなしの場合、Cloudflare のネームサーバーへの問い合わせは、追加した 3 件の A レコードを返します。
各クライアント(多くの場合はブラウザー)が、どの IP アドレスへリクエストを送るかを決めます。ある IP アドレスが失敗すると、クライアントは別の選択肢を使います。リクエストはすべてオリジンサーバーへ直接送られます(上の例では 192.0.2.1、192.0.2.2、192.0.2.3 のいずれか)。
関連するレコードがすべてプロキシ済みの場合、Cloudflare のネームサーバーへの問い合わせは、Cloudflare の IP アドレス一覧から 2 件の A レコードを返します。
各クライアント(多くの場合はブラウザー)が、どの Cloudflare IP アドレスへリクエストを送るかを決めます。Cloudflare がそのリクエストを受け取り、オリジンサーバーへ接続する必要がある場合は、DNS レコードで指定した 3 つの IP アドレス(上の例では 192.0.2.1、192.0.2.2、192.0.2.3 のいずれか)から 1 つを選びます。
オリジンサーバーへのリクエストを減らすだけでなく、この構成では Cloudflare の Zero downtime failover も使えます。ある IP アドレスへのリクエストが失敗すると、Cloudflare は同じホスト名に紐づくほかの IP アドレスへ自動で再試行します。これにより、エンドユーザーがダウンタイムを経験しにくくなります。
同じホスト名にプロキシ済みとプロキシなしのレコードが混在している場合、リクエストは すべてプロキシ済みの場合 と同じように処理されます。
この方法は、想定外の動作につながることがあるため、通常はおすすめしません。たとえば、プロキシなしが 2 件、プロキシ済みが 1 件あると、Cloudflare はすべてのレコードをプロキシ済みとして扱います。一方、その 1 件のプロキシ済みレコードを削除すると、残りの 2 件はすぐにプロキシなしとして扱われます。
DNS レコードを変更したときの意外な変化を避けるため、すべてプロキシ済みか、すべてプロキシなしのどちらかにそろえることをおすすめします。