Magic Transit Virtual Network はルーティングテーブルを使い、Cloudflare のグローバルネットワークから接続済みネットワークへ、next-hop 経由でトラフィックを誘導します。Magic Transit Virtual Network のルーティングテーブルへのエントリ追加は、静的ルートの設定、または BGP ピアリング(ベータ)から学習したルートで行えます(Dataplane v2 の CNI に加え、IPsec と GRE トンネルでも利用できます)。
次に関連する技術的な側面は Traffic Steering を参照してください。
- ルートの優先度と重み
- 遅延を減らすためのリージョン単位のトラフィックスコープ
- BGP ピアリング(ベータ)
-
Routes ページを開きます。
Routes を開く ↗ -
Routes タブから Create route を選択し、ルートタイプとして WAN を選びます。
-
Description にルートの分かりやすい名前を入力します。
-
Prefix に IP アドレス範囲を入力します。例:
10.10.10.100/24。 -
Tunnel/Next hop で、トンネルエンドポイントを設定する で作成したトンネルからルート用のトンネルを選びます。
-
ルートの Priority を選びます。数値が小さいほど優先度が高くなります。
-
(任意)ルートの Weight を選びます。例は 静的ルートの優先度と重みを設定する を参照してください。
-
(任意)ルートを特定リージョンにスコープする必要がある場合は、Region code で設定できます。
-
(任意)追加する前に Test routes を選択してルートをテストすることを強く推奨します。
-
Add routes を選択します。
API を使って POST リクエストを作成し、1 つ以上の静的ルートを作成します。
例:
Required API token permissions
At least one of the following token permissions is required:Magic WAN WriteMagic Transit Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/routes" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"nexthop": "<IP_NEXT_HOP>",
"prefix": "<YOUR_IP_PREFIX>",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "<ROUTE_DESCRIPTION>",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}'{
"errors": [
{
"code": 1000,
"message": "message"
}
],
"messages": [
{
"code": 1000,
"message": "message"
}
],
"result": {
"routes": [
{
"nexthop": "203.0.113.1",
"prefix": "192.0.2.0/24",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "New route for new prefix 203.0.113.1",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}
]
},
"success": true
}- Routes タブで、変更するルートを探します。
- 横の三点リーダーを選択し、Edit を選びます。
- 更新したルート情報を入力します。
- (任意)追加する前に Test routes を選択してルートをテストすることを強く推奨します。
- Edit routes を選択します。
API を使って PUT リクエストを作成し、1 つ以上の静的ルートを更新します。
例:
Required API token permissions
At least one of the following token permissions is required:Magic WAN WriteMagic Transit Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/routes/$ROUTE_ID" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"nexthop": "<IP_NEXT_HOP>",
"prefix": "<YOUR_IP_PREFIX>",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "<ROUTE_DESCRIPTION>",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}'{
"errors": [
{
"code": 1000,
"message": "message"
}
],
"messages": [
{
"code": 1000,
"message": "message"
}
],
"result": {
"modified": true,
"modified_route": {
"nexthop": "203.0.113.1",
"prefix": "192.0.2.0/24",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "New route for new prefix 203.0.113.1",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}
},
"success": true
}- Routes タブで、削除する静的ルートを探します。
- 横の三点リーダーを選択し、Delete を選びます。
- チェックボックスを選択して操作を確認し、Delete を選択します。
API を使って DELETE リクエストを作成し、静的ルートを削除します。
例:
Required API token permissions
At least one of the following token permissions is required:Magic WAN WriteMagic Transit Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/routes/$ROUTE_ID" \
--request DELETE \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"errors": [
{
"code": 1000,
"message": "message"
}
],
"messages": [
{
"code": 1000,
"message": "message"
}
],
"result": {
"deleted": true,
"deleted_route": {
"nexthop": "203.0.113.1",
"prefix": "192.0.2.0/24",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "New route for new prefix 203.0.113.1",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}
},
"success": true
}BGP ピアリングは、次のオンランプで利用できます。
- Dataplane v2 の CNI(クローズドベータで、新規のお客様には提供されていません)。
- IPsec および GRE トンネル(ベータ)。Unified Routing が必要です。
Magic Transit Virtual Network のルーティングテーブルはお客様が管理します。Cloudflare 側の ASN(自律システム番号)と、お客様デバイスの ASN の両方を選べます。お客様デバイスの ASN は 2 バイトまたは 4 バイトです。Magic Transit で使うパブリック ASN は、オンボーディング時に検証されます。
デフォルトでは、各 BGP ピアリングセッションは、Magic Transit Virtual Network ルーティングテーブルとのピアリングを表す同じ Cloudflare 側 ASN を使います。この ASN は CF Account ASN と呼ばれ、13335 に設定されます。プライベート 2 バイト ASN(64512 から 65534 の任意の値。例: 65000)に設定できます。
この ASN を設定するには:
-
Routes ページを開きます。
Routes を開く ↗ -
WAN configuration を選択します。
-
CF Account ASN に Cloudflare の ASN を入力します。
-
Update を選択します。
Magic Transit のお客様は、次の点にも注意してください。
- Cloudflare 側 ASN は、Cloudflare エッジからの anycast 通知の
AS_PATHに露出されません。それらの通知では、Cloudflare は常に Cloudflare ASN の13335を使い、任意で Cloudflare ASN とお客様自身の ASN で説明する bring-your-own ASN を前置します。 - お客様デバイスの ASN は、プライベート ASN、またはエッジでの Magic Transit anycast 通知に使っている ASN にできます。Cloudflare グローバルネットワークのエッジで anycast 通知されるプレフィックスの ASN には影響しません。
2 つの ASN を設定する必要があります。
- CF Account ASN という名前の Cloudflare アカウントスコープ ASN。
- BGP を設定したい各オンランプの ASN 1 つ。
Cloudflare アカウント ASN をすでに設定済みなら、次の手順 2 と 3 をスキップします。
-
Routes ページを開きます。
Routes を開く ↗ -
WAN configuration を選択します。
-
CF Account ASN に Cloudflare の ASN を入力し、Update を選択します。
-
Interconnects を開きます。
Interconnects を開く ↗ -
Dataplane v2 の CNI インターコネクトを探し、横の 三点リーダー を選択して Configure BGP を選びます。
-
Customer device ASN にネットワークの ASN を入力します。
-
MD5 key には、任意でネットワークのキーを入力できます。これは誤設定の防止が目的で、セキュリティ機構ではありません。
-
(任意)Additional Advertised prefix list に、既存ルートと一緒に通知したい追加プレフィックスを入力します。追加ルートを通知しない場合は空のままにします。ここでよく設定するプレフィックスは次です。
- デフォルトルート
0.0.0.0/0へのルート — Egress 付き Magic Transit を使う場合に、インターネット向けトラフィックを引き込むため。 100.96.0.0/12へのルート。Cloudflare One Clients がデフォルトで使う CGNAT 空間の一部です。
- デフォルトルート
-
Save を選択します。
-
Routes ページを開きます。
Routes を開く ↗ -
WAN configuration を選択します。
-
CF Account ASN に Cloudflare の ASN を入力し、Update を選択します。
-
Connectors を開きます。
Connectors を開く ↗ -
IPsec/GRE tunnels で、BGP を設定したいトンネルを探し、横の 三点リーダー を選択して Configure BGP を選びます。
-
Customer device ASN にネットワークの ASN を入力します。
-
MD5 key には、任意でネットワークのキーを入力できます。これは誤設定の防止が目的で、セキュリティ機構ではありません。
-
(任意)Additional Advertised prefix list に、既存ルートと一緒に通知したい追加プレフィックスを入力します。追加ルートを通知しない場合は空のままにします。ここでよく設定するプレフィックスは次です。
- デフォルトルート
0.0.0.0/0へのルート — Egress 付き Magic Transit を使う場合に、インターネット向けトラフィックを引き込むため。 100.96.0.0/12へのルート。Cloudflare One Clients がデフォルトで使う CGNAT 空間の一部です。
- デフォルトルート
-
Save を選択します。
トンネル(GRE または IPsec)の BGP ピアリングを設定する場合、次を把握してください。
-
Customer Premises Equipment (CPE) が BGP ピアリングセッションを開始する必要があります。Cloudflare は開始しません。
-
BGP スピーカーは、トンネルの IPv4 インターフェースアドレスとピアする必要があります。CPE 側のピアリング接続には任意の IPv4 アドレスを使えます。
/31または/30インターフェースサブネットのもう一方のアドレスを使う必要はありません。 -
Hold time は 0 秒より大きくする必要があります(BGP
KEEPALIVEメッセージが必要です)。Cloudflare は少なくとも 45 秒を推奨します。Cloudflare は GRE / IPsec トンネルに対して 90 秒の hold time を通知します。90 秒より大きい値を設定した場合、ネゴシエートされた hold time は BGP の標準的な交渉方法に従い 90 秒になります。 -
Connect retry time は低くしてください(例: 5 秒または 10 秒)。
-
CPE は 1 つの BGP セッションで最大 5,000 プレフィックスを通知できます。
-
MD5 認証は任意です。最大 80 文字です。サポートされる文字は
a-zA-Z0-9'!@#$%^&*()+[]{}<>/.,;:_-~`= \\|です。