Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

はじめに

最終更新 Markdown で表示Agent セットアップ

自前の IP アドレスを Cloudflare で使うには、アカウントチームに契約がこの機能をカバーしているか確認してください。利用するサービス固有の設定に加え、すべての BYOIP お客様向けの標準要件も満たす必要があります。

アカウントの設定が整ったら、次のセクションで BYOIP プレフィックスのセットアップ方法を確認してください。BYOIP Service-Specific Terms も確認してください。

始める前に

  • プレフィックスは、次のいずれかの Regional Internet Registry(RIR)に登録されている必要があります。

  • Internet Routing Registry(IRR) のレコードが最新で、次を含むことも確認してください。

    • オンボードするプレフィックスと完全に一致する route または route6 オブジェクト
    • オンボードする正しい ASN と一致する origin
  • Resource Public Key Infrastructure(RPKI)検証 を使い、ROA が正確であることを確認してください。プレフィックスの再確認には Cloudflare の RPKI Portal と、Routinator などの別ソースを使えます。

  • Cloudflare API の使いかたに慣れていない場合は、Fundamentals を参照してください。必要な権限とアカウント ID があることを確認してください。


1. プレフィックスをセットアップする

プレフィックスを追加する

  1. Add Prefix エンドポイント を使い、BYOIP プレフィックスを所有する Cloudflare アカウントにプレフィックスを作成します。
Add Prefixbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"cidr": "203.0.113.0/24",
		"asn": 13335,
		"delegate_loa_creation": true
	}'
レスポンスjson

 "result": {
	 "id": "72823e95d6c64d48a8111fec81179816",
    "created_at": "2025-02-25T00:34:11.423722Z",
    "modified_at": "2025-02-25T00:34:11.423722Z",
    "cidr": "203.0.113.0/24",
    "account_id": "654c5f71c324478cc9f68d60065d4620",
    "description": "",
    "approved": "P",
    "on_demand_enabled": false,
    "on_demand_locked": false,
    "advertised": null,
    "advertised_modified_at": null,
    "loa_document_id": "b9ff4afe312246a8b2e7324d98f40b23",
    "asn": 13335,
    "ownership_validation_token": "<OWNERSHIP_VALIDATION_TOKEN>",
    "delegate_loa_creation" : true,
    "irr_validation_state": "pending",
    "rpki_validation_state": "pending",
    "ownership_validation_state": "pending",
  }
  1. 追加したプレフィックスに割り当てられた id を控えてください。以降の手順で使います。

プレフィックスの所有権を検証する

  1. 次のいずれかの方法で、プレフィックスの所有権を検証します。

    1. API 呼び出しが返した ownership_validation_token をコピーします。
    2. オンボードするプレフィックスの IRR レコードで、description または remarks フィールドに次の文字列を追加します。<OWNERSHIP_VALIDATION_TOKEN> は、前の手順でコピーした実際のトークンに置き換えてください。
    cf-validation: <OWNERSHIP_VALIDATION_TOKEN>
    1. Cloudflare に持ち込むプレフィックスのサイズを確認します。標準の in-addr.arpa ツリーはオクテットまたはニブル境界での委任を前提としているため、その境界に揃っていないプレフィックスをオンボードする場合は、プレフィックスをサブネットに分割し、それぞれに対応する逆引き DNS ゾーンを作成する必要があります。

    より小さいサブネットがいくつ必要かは、次の式で計算します。

    2^(next boundary - current netmask)

    1.1.0.0/23 では、1.1.0.0/241.1.1.0/24 の 2 つ(2^(24-23))の逆引き DNS ゾーンを用意します。

    2001:0db8::/34 では、2001:0db8::/362001:0db8:1:/362001:0db8:2::/362001:0db8:3::/36 の 4 つ(2^(36-34))の逆引き DNS ゾーンを用意します。

    1. 逆引き DNS ゾーンをセットアップします。Cloudflare を DNS に使う場合は、逆引き DNS ゾーン を参照してください。別の DNS プロバイダーを使う場合は、その手順に従ってください。
    2. namecf-validation を使って TXT レコードを作成します。次の例のようになります。
    cf-validation.<REVERSE_ZONE_ADDRESS> IN TXT <TOKEN>
    1. Regional Internet Registry(RIR)でネームサーバーを更新します。ネームサーバーの更新手順は、利用するレジストリによって異なります。
  2. 必要な変更を適用したあと、Validate Prefix エンドポイントを使って検証チェックを開始します。

    Required API token permissions

    At least one of the following token permissions is required:
    • Magic Transit Write
    • IP Prefixes: Write
    Validate Prefixbash
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/validate" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

所有権の検証が成功したら、トークンを削除できます。

RPKI、IRR、所有権のすべての検証に通ると、プレフィックスの approved フィールドは "V" になります。この状態になれば、IP アドレスのサービスバインディング1 を作成できます。

必要に応じて Prefix Details エンドポイント で、検証中に問題が見つかったかを確認できます。問題があれば必要な変更を行い、検証を再開するリクエストを送ります。詳しくは プレフィックス検証チェック を参照してください。

(任意)BYOIP プレフィックスを委任する

他のアカウントに、BYOIP プレフィックスの一部または全部の使用を許可できます。詳しくは プレフィックス委任 を参照してください。

Required API token permissions

At least one of the following token permissions is required:
  • IP Prefixes: Write
Create Prefix Delegationbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/delegations" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"cidr": "<IP_PREFIX_TO_DELEGATE>",
		"delegated_account_id": "<ACCOUNT_ID>"
	}'

2. サービスバインディングを作成する

IP アドレス管理では、サービスバインディングは、特定の IP アドレス宛のトラフィックを、どの Cloudflare サービス経由でルーティングするかを対応付けます。

デフォルトのサービスバインディング

IP プレフィックスを Cloudflare にオンボードするときは、プレフィックス全体を覆うサービスバインディングが 1 つ必要です。特定の IP アドレス宛のトラフィックは、デフォルトでこのサービスへルーティングされます。追加のサービスバインディング も、次のステップのとおり設定できます。

  1. List Services エンドポイントへ GET リクエストを送り、使いたいサービスに紐づく id を控えます。
  1. (任意)必要なら List Prefixes エンドポイントで、プレフィックスに紐づく id を取得または確認します。
  2. Create service binding エンドポイントへ POST リクエストを送り、オンボードする BYOIP プレフィックス全体と、デフォルトバインディングに使うサービスを指定します。

Required API token permissions

At least one of the following token permissions is required:
  • IP Prefixes: Write
Create Service Bindingbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/bindings" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"cidr": "203.0.113.0/24",
		"service_id": "<DEFAULT_SERVICE>"
	}'

対応する BGP プレフィックスは自動で作成されます。プレフィックスをアドバタイズするまで 5 時間待ってください。

(任意)追加のバインディング

CDN または Spectrum へ IP アドレス単位で選択的にトラフィックをルーティングする場合は、追加のサービスバインディングを作成できます。

  1. 追加バインディングを付ける IP を計画します。Cloudflare は、連続していない CIDR ブロックに個別のバインディングを追加するより、集約した CIDR ブロックでサービスバインディングを実装することを 強く 推奨します。効率が良くなります。

Spectrum で保護するプレフィックス: 203.0.113.0/24

CDN へアップグレードする IP:

203.0.113.16
203.0.113.17
203.0.113.18
203.0.113.19
203.0.113.20
203.0.113.21
203.0.113.22
203.0.113.23

203.0.113.16/29 ネットマスクの CDN サービスバインディングを 1 件追加します。

  1. Create service binding エンドポイントへ POST リクエストを送り、CDN または Spectrum にバインドする IP アドレスを指定します。必要に応じて 対応するネットワークマスク を指定します。

Required API token permissions

At least one of the following token permissions is required:
  • IP Prefixes: Write
Create Service Bindingbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/bindings" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"cidr": "203.0.113.16/29",
		"service_id": "<SERVICE_ID>"
	}'

レスポンス本文の初期プロビジョニング状態は provisioning です。


   {
     "errors": [],
     "messages": [],
     "success": true,
     "result": {
       "cidr": "203.0.113.16/29",
       "id": "<SERVICE_BINDING_ID>",
       "provisioning": {
         "state": "provisioning"
         },
       "service_id": "<SERVICE_ID>",
       "service_name": "<SERVICE_NAME>"
     }
   }

サービスバインディングの作成(または削除)後、Cloudflare のグローバルネットワークへ伝播するまで 4〜6 時間 かかります。


3. BGP プレフィックスをアドバタイズする

自動作成された BGP プレフィックス(ステップ 2 のあと)は、最初は撤回されています。CDN サービスを使う場合の アドレスマップ2 を含む、すべての設定が整ってから、プレフィックスの BGP ルートをアドバタイズします。

  1. Update BGP prefix エンドポイントでアドバタイズを開始します。

Required API token permissions

At least one of the following token permissions is required:
  • Magic Transit Write
  • IP Prefixes: Write
  • IP Prefixes: BGP On Demand Write
Update BGP Prefixbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/bgp/prefixes/$BGP_PREFIX_ID" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"on_demand": {
				"advertised": true
		}
	}'

Footnotes

  1. 特定の IP アドレス宛のトラフィックを、どのパイプライン経由でルーティングするかを制御する対応付けです。

  2. プロキシされたホスト名の DNS クエリに Cloudflare が応答するとき、どの IP アドレスを使うかを指定する対応付けです。

役に立ちましたか?