コンテンツにスキップ

ロードバランシングコンポーネント

このページでは、Cloudflareのロードバランシングソリューションの3つの主要コンポーネントの簡略化された概要と、それらがどのように相互に関連しているかを提供します。

ロードバランサー

ホスト名(blog.example.com)が解決されるためには、ドメインネームシステム(DNS)が、ウェブサイトまたはアプリケーションがホストされているIPアドレスを返す必要があります(オリジン)。

ロードバランサーを設定すると、Cloudflareは指定されたホスト名のために自動的にLB DNSレコードを作成します。これは、単にIPアドレスを返すのではなく、Cloudflareのロードバランシングソリューションを使用して導入したロジックが考慮されることを意味します。

ルートドメインをロードバランサーのホスト名として使用できることに注意してください。その際、ゾーン名の前に通常自動生成されるドットを含めずにホスト名を入力してください。

    flowchart LR
      accTitle: Load balancing flow
      accDescr: Load balancing involves a load balancer, pools, endpoints, monitors, and health monitors.
      B[Request 1] --> A
      C[Request 2] --> A
      D[Request 3] --> A
      A[Load balancer] -- Request 1 --> P1
      A -- Request 2 --> P2
      A -- Request 3 --> P3
      subgraph P1 [Pool 1]
      Endpoint1((Endpoint 1))
      Endpoint2((Endpoint 2))
      end
      subgraph P2 [Pool 2]
      Endpoint3((Endpoint 3))
      Endpoint4((Endpoint 4))
      end
      subgraph P3 [Pool 3]
      Endpoint5((Endpoint 5))
      Endpoint6((Endpoint 6))
      end

プール

Cloudflare内では、プールはあなたのエンドポイントとそれらの組織方法を表します。したがって、プールは複数のエンドポイントのグループであることもあれば、プールごとに1つのエンドポイントだけを持つこともできます — これは、あなたのユースケースに最も適した方法によります。

例えば、Cloudflareを使用してトラフィックを地域間でグローバルに分散させるだけの場合(グローバルトラフィックステアリング)、各プールは1つの地域を表し、各地域内にはデータセンターへのエントリーポイントを表す1つのエンドポイントがあるかもしれません。

Cloudflareのローカルトラフィック管理(LTM)ソリューションとエンドポイントステアリング機能により、データセンター内のサーバー間でトラフィックをロードバランスすることも可能です。このユースケースでは、各プールはデータセンターを表し、あなたのサーバーを表す複数のエンドポイントを含むことになります。

エンドポイント

エンドポイントは any service or hardware that intercepts and processes incoming public or private traffic.

Examples of endpoints include origins, hostnames, private or public IP addresses, virtual IP addresses (VIPs), servers, and other dedicated hardware boxes.

モニター

最後に、モニターは、健康なプールのみがトラフィック分配の対象とされることを保証するために使用できるコンポーネントです。

モニターを設定し、それをエンドポイントに接続すると、モニターは定期的にエンドポイントに健康モニターリクエストを発行します。このプロセスにより、ロードバランサーは実際に利用可能なエンドポイントを考慮して、トラフィックをインテリジェントに処理できるようになります。

    flowchart RL
      accTitle: Load balancing monitor flow
      accDescr: Monitors issue health monitor requests, which validate the current status of servers within each pool.
      Monitor -- Health Monitor ----> Endpoint2
      Endpoint2 -- Response ----> Monitor
      subgraph Pool
      Endpoint1((Endpoint 1))
      Endpoint2((Endpoint 2))
      end