ロードバランサーは、プールの健全性 と トラフィックステアリングポリシー に従って、プール間にトラフィックを分散します。各ロードバランサーは、DNS ホスト名(lb.example.com、dev.example.com など)または IP アドレスで識別します。
ロードバランサーの詳細は、ロードバランサー を参照してください。
ダッシュボードで Public または Private のロードバランサーを作成するには:
-
Load Balancing を開き、Create load balancer を選択します。
-
Load Balancer Setup で Public load balancer を選択します。
-
このロードバランサーを追加する Web サイトを選びます。
-
Hostname ページで次を行います。
- Hostname を入力します。ロードバランサーが応答する DNS 名です。レコードの優先順位の詳細は 負荷分散の DNS レコード を参照してください。
- Data Localization のドロップダウンから、ドメインで使う リージョン を選びます。
- オレンジ色の雲アイコンを切り替えて プロキシモード を更新します。トラフィックの経路と広告する IP アドレスが変わります。
- ロードバランサーの説明を追加します。
- セッションベースの負荷分散 を使う場合は、Session Affinity スイッチをオンにします。
- Adaptive Routing を使う場合は、Adaptive Routing スイッチをオンにします。
-
Next を選択します。
-
Add a Pool ページで次を行います。
- 既存のプールを 1 つ以上選ぶか、新しいプールを作成 します。
- トラフィックステアリング を Off にする場合は、ロードバランサー内のプールを並べ替えてフォールバック順を調整します。
- 必要に応じて Fallback Pool を更新します。
- トラフィックステアリングを Random にする場合は、各プールへ送るトラフィックの割合を決める Weights を(API 経由で)設定できます。
-
Next を選択します。
-
Monitors ページで次を行います。
- プールに付いているモニターを確認します。
- 必要に応じて、既存のモニターを付けるか、新しいモニターを作成 します。
-
Next を選択します。
-
Traffic Steering ページで トラフィックステアリング のオプションを選び、Next を選択します。
-
Custom Rules ページで、既存のルールを選ぶか 新しいルールを作成 します。
-
Next を選択します。
-
Review ページで次を行います。
- 設定を確認し、必要に応じて変更します。
- Save as Draft または Save and Deploy を選びます。
-
Load Balancing を開き、Create load balancer を選択します。
-
Load Balancer Setup で Private load balancer を選択します。
-
ロードバランサーを Cloudflare のプライベート IP、または指定した IP アドレスに関連付け、説明を作成します。
-
Add a Pool ページで次を行います。
- 既存のプールを 1 つ以上選ぶか、新しいプールを作成 します。
- トラフィックステアリング を Off にする場合は、ロードバランサー内のプールを並べ替えてフォールバック順を調整します。
- 必要に応じて Fallback Pool を更新します。
- トラフィックステアリングを Random にする場合は、各プールへ送るトラフィックの割合を決める Weights を(API 経由で)設定できます。
-
Next を選択します。
-
Monitors ページで次を行います。
- プールに付いているモニターを確認します。
- 必要に応じて、既存のモニターを付けるか、新しいモニターを作成 します。
-
Next を選択します。
-
Traffic Steering ページで トラフィックステアリング のオプションを選び、Next を選択します。
-
Next を選択します。
-
Review ページで次を行います。
- 設定を確認し、必要に応じて変更します。
- Save as Draft または Save and Deploy を選びます。
プロパティの一覧は、Create Load Balancer を参照してください。API 認証で困ったときは、Cloudflare API のドキュメント を参照してください。
Required API token permissions
At least one of the following token permissions is required:Load Balancers Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/load_balancers" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"description": "Load Balancer for lb.example.com",
"name": "lb.example.com",
"enabled": true,
"ttl": 30,
"fallback_pool": "17b5962d775c646f3f9725cbc7a53df4",
"default_pools": [
"17b5962d775c646f3f9725cbc7a53df4",
"9290f38c5d07c2e2f4df57b1f61d4196",
"00920f38ce07c2e2f4df50b1f61d4194"
],
"proxied": true,
"steering_policy": "random_steering",
"session_affinity": "cookie",
"session_affinity_attributes": {
"samesite": "Auto",
"secure": "Auto",
"drain_duration": 100,
"zero_downtime_failover": "sticky"
},
"session_affinity_ttl": 5000,
"adaptive_routing": {
"failover_across_pools": true
},
"location_strategy": {
"prefer_ecs": "always",
"mode": "resolver_ip"
},
"random_steering": {
"pool_weights": {
"de90f38ced07c2e2f4df50b1f61d4194": 0.3,
"9290f38c5d07c2e2f4df57b1f61d4196": 0.5
},
"default_weight": 0.2
}
}'レスポンスには、新しいロードバランサーの完全な定義が含まれます。
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "699d98642c564d2e855e9661899b7252",
"created_on": "2021-01-01T05:20:00.12345Z",
"modified_on": "2021-01-01T05:20:00.12345Z",
"description": "Load Balancer for lb.example.com",
"name": "lb.example.com",
"enabled": true,
"ttl": 30,
"fallback_pool": "17b5962d775c646f3f9725cbc7a53df4",
"default_pools": [
"17b5962d775c646f3f9725cbc7a53df4",
"9290f38c5d07c2e2f4df57b1f61d4196",
"00920f38ce07c2e2f4df50b1f61d4194"
],
"proxied": true,
"steering_policy": "random_steering",
"session_affinity": "cookie",
"session_affinity_attributes": {
"samesite": "Auto",
"secure": "Auto",
"drain_duration": 100,
"zero_downtime_failover": "sticky"
},
"session_affinity_ttl": 5000,
"random_steering": {
"pool_weights": {
"de90f38ced07c2e2f4df50b1f61d4194": 0.3,
"9290f38c5d07c2e2f4df57b1f61d4196": 0.5
},
"default_weight": 0.2
}
}
}正規名(CNAME)レコードを作成する と、アカウント内のほかのサイトとロードバランサーを共有できます。複数のドメインで設定を共有できるため、サイトごとに新しいロードバランサーを作る必要がありません。
ドメインごとに別のロードバランサーを設定し、モニターとプールを再利用することもできます。フェイルオーバーの優先順位をドメインごとに変えたいときに特に便利です。たとえば、example.co.uk サーバーのフェイルオーバー優先度が example.com や example.com.au と異なる場合です。
ロードバランサーを削除または無効にした場合、エンドポイントのリクエストへの応答は、既存の DNS レコード に依存します。
ダッシュボードでロードバランサーを削除するには、次の手順を実行します。
- Load Balancing に移動します。
- 対象のロードバランサーで Delete を選択します。
API でロードバランサーを削除するには、DELETE リクエストを送ります。
プールまたはエンドポイントのヘルスステータスの変化について通知を受け取るアラートを設定できます。
Load Balancing Health Alert
対象プールまたはオリジンの 健全性ステータスの変化 を知りたいお客様向けです。
その他のオプション / フィルタ使えるフィルタ:
- プールの一覧から検索して追加できます。すべてのプールを選んだ場合は Include future pools も選べます。
- 健全性ステータスが unhealthy、healthy、または unhealthy か healthy のいずれか になったときに通知するトリガーを選べます。
- イベントソースの健全性ステータス変化が pool、origin、または pool か origin のいずれか のときに通知するトリガーを選べます。
Load Balancing の購入。
受け取ったときの対応ロードバランシングのアナリティクス で、健全性ステータスの時間変化を確認します。
アラートの設定方法は、Cloudflare Notifications を参照してください。