本番ドメインから始める代わりに、テスト用またはステージング用のドメインでロードバランサーを作成することを推奨します。インフラの構成によっては、モニターやプールを一時的に変更する場合があります。
テストドメインから始めると、本番トラフィックを流す前に、すべてが正しく動作していることを確認できます。
ダッシュボードで 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
}
}
}