このページでは、Cloudflare Load Balancing の 3 つの主な構成要素と、それらの関係を簡潔に説明します。
ホスト名(blog.example.com)を解決するには、Domain Name System(DNS)がそのウェブサイトまたはアプリケーションをホストする IP アドレス(オリジン)を返す必要があります。
パブリックロードバランサーを設定すると、Cloudflare は指定したホスト名に対して LB DNS レコード を自動で作成します。つまり、単に IP アドレスを返すのではなく、優先順位 に従って、Cloudflare Load Balancing で導入したロジックが考慮されます。
ルートドメインをロードバランサーのホスト名として使うこともできます。その場合は、ゾーン名の前に自動生成されるドットを含めず、ホスト名を入力してください。
flowchart LR
accTitle: 負荷分散の流れ
accDescr: 負荷分散には、ロードバランサー、プール、エンドポイント、モニター、ヘルスモニターが含まれます。
B[リクエスト 1] --> A
C[リクエスト 2] --> A
D[リクエスト 3] --> A
A[ロードバランサー] -- リクエスト 1 --> P1
A -- リクエスト 2 --> P2
A -- リクエスト 3 --> P3
subgraph P1 [プール 1]
Endpoint1((エンドポイント 1))
Endpoint2((エンドポイント 2))
end
subgraph P2 [プール 2]
Endpoint3((エンドポイント 3))
Endpoint4((エンドポイント 4))
end
subgraph P3 [プール 3]
Endpoint5((エンドポイント 5))
Endpoint6((エンドポイント 6))
end
Cloudflare では、プールはエンドポイントとその整理方法を表します。そのため、プールは複数のエンドポイントのグループにも、エンドポイント 1 つだけのプールにもできます。用途に合わせて選びます。
たとえば、Cloudflare でリージョン間にトラフィックをグローバルに分散するだけなら(グローバルトラフィックステアリング)、各プールを 1 つのリージョンとし、その中にデータセンターへの入口となるエンドポイントを 1 つ置く構成が考えられます。
Cloudflare の Private Network Load Balancing と エンドポイントステアリング を使うと、データセンター内のサーバー間でも負荷分散できます。この場合、各プールはデータセンターを表し、サーバーを表す複数のエンドポイントを含めます。
エンドポイントとは、受信したパブリックまたはプライベートトラフィックを受け取り、処理するサービスまたはハードウェアです。
エンドポイントの例には、オリジン、ホスト名、プライベートまたはパブリック IP アドレス、仮想 IP アドレス(VIP)、サーバー、その他の専用ハードウェアがあります。
モニターは、トラフィック分散の対象を 健全なプール だけにするための構成要素です。
モニターを設定してエンドポイントに関連付けると、モニターは一定間隔でエンドポイントへヘルスモニターリクエストを送ります。これにより、ロードバランサーは実際に利用できるエンドポイントを考慮して、トラフィックを判断できます。
flowchart RL
accTitle: ロードバランシングのモニターの流れ
accDescr: モニターはヘルスモニターリクエストを送り、各プール内のサーバーの現在の状態を確認します。
Monitor[モニター] -- ヘルスモニター ----> Endpoint2
Endpoint2 -- 応答 ----> Monitor
subgraph Pool[プール]
Endpoint1((エンドポイント 1))
Endpoint2((エンドポイント 2))
end