INTEGRITY Dokumentace

Použití BYOIP s CDN a Spectrum

S service bindings, CDN1 zákazníci využívající BYOIP mohou vzít stejný prefix, který zaregistrovali u Cloudflare, a použít ho ke selektivnímu směrování provozu podle jednotlivých IP adres do Spectrum2, nebo naopak. To znamená:

Tento návod vychází z prvního příkladu a pracuje s prefixem, který byl zapojen do CDN a u kterého bylo několik IP adres povýšeno na Spectrum.

Než začnete

Cloudflare důrazně doporučuje implementovat service bindings prostřednictvím agregovaný CIDR blok, protože je to efektivnější než přidávat samostatné vazby pro nesouvislé CIDR bloky.

Příklad

Prefix chráněný CDN: 203.0.113.0/24

IP adresy k upgradu na Spectrum:

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

Přidejte jednu samostatnou vazbu služby Spectrum pro 203.0.113.16 s /29 maska sítě.

Jakmile je service binding vytvořen (nebo odstraněn), bude trvat čtyři až šest hodin než se rozšíří po celé globální síti Cloudflare. Služby pro dotčené IP adresy budou během této doby pravděpodobně nedostupné.


Připravte si IP adresy

1. Získání informací o účtu

  1. Přihlaste se ke svému účtu Cloudflare a získejte své ID účtu a ověřovací klíč nebo token. Pokud používáte API token, oprávnění by měla zahrnovat Account - IP Prefixes - Edit.
  2. Vytvořte GET požadavek na List Services endpoint a poznamenejte si id spojené se službou Spectrum.
  3. Použijte List Prefixes endpoint a poznamenejte si id spojené s prefixem (cidr) kterou nakonfigurujete.

V tomto okamžiku pokračování příklad, měli byste mít mapování podobné následujícímu:

Proměnné Popis
{service_id} ID služby Spectrum v rámci Cloudflare.

Příklad: 969xxxxxxxx000xxx0000000x00001bf
{prefix_id} ID prefixu CDN (203.0.113.0/24) kterou chcete nakonfigurovat.

Příklad: 6b25xxxxxxx000xxx0000000x0000cfc
  1. Chcete-li potvrdit, že máte aktuálně nastavený CDN Service Binding, který pokrývá celý váš prefix, proveďte GET požadavek na List Service Bindings endpoint. Nahraďte {prefix_id} v cestě URI skutečným ID prefixu, které jste získali v předchozím kroku.

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • IP Prefixes: Write
  • IP Prefixes: Read
List Service Bindings
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/bindings" \
	--request GET \
	--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
	--header "X-Auth-Key: $CLOUDFLARE_API_KEY"

2. Vytvoření vazeb služeb

  1. Vytvořte POST požadavek na Vytvoření vazby na službu endpoint a uveďte IP adresu, kterou chcete navázat na Spectrum. Zadejte odpovídající síťová maska podle potřeby.

Pokud budeme pokračovat v příkladu, 203.0.113.100/32 označuje IP adresu, která spadá do CDN prefixu 203.0.113.0/24.

Nahraďte {prefix_id} v URI vaším ID prefixu z předchozích kroků. V těle požadavku pak cidr hodnota by měla odpovídat IP adrese nebo podsíti, kterou konfigurujete pro použití se Spectrum.

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • IP Prefixes: Write
Create Service Binding
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/bindings" \
	--request POST \
	--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
	--header "X-Auth-Key: $CLOUDFLARE_API_KEY" \
	--json '{
		"cidr": "203.0.113.100/32",
		"service_id": "<SERVICE_ID>"
	}'

V těle odpovědi by měl být počáteční stav zřizování provisioning.

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

Stav vazby služby můžete pravidelně kontrolovat pomocí List Service Bindings koncový bod.

3. Ověření všech vazeb služeb

Po uplynutí doby propagace (čtyři až šest hodin) se List Service Bindings endpoint by měl vrátit všechny service bindings, které jsou součástí prefixu: v tomto případě CDN a Spectrum.

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
List Service Bindings
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/bindings" \
	--request GET \
	--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
	--header "X-Auth-Key: $CLOUDFLARE_API_KEY"

Nastavte své služby Cloudflare

CDN

Pokud již BYOIP s CDN používáte, tento krok můžete případně přeskočit. Pokud však podle tohoto návodu upgradujete několik IP adres z prefixu Spectrum na CDN, přečtěte si následující části o mapy adres a DNS záznamy.

Mapy adres

Použijte mapy adres a určete, které IP adresy má Cloudflare použít v odpovědích DNS, když je záznam proxováno.

Můžete si vybrat mezi dvěma rozsahy:

  1. V dashboardu Cloudflare přejděte na Address Maps stránce.

    Přejděte na Mapy adres ↗
  2. Vyberte Vytvoření mapy adres.

  3. Zvolte rozsah platnosti mapy adres.

  4. Přidejte zóny a IP adresy, které chcete namapovat.

  5. Pojmenujte svou address map.

  6. Zkontrolujte informace a vyberte Save and Deploy.

Použijte Create Address Map koncový bod.

Zkontrolujte, zda máte správný klíč/token a oprávnění.

DNS záznamy

Zatímco stav proxy u DNS záznamu a mapa adres určují, jak autoritativní DNS Cloudflare odpovídá na požadavky pro vaše hostname, IP adresy uvedené v A/AAAA záznamy určí jak se Cloudflare připojuje ke konfigurovanému originu.

Chcete-li vytvořit DNS záznam v dashboardu:

  1. V dashboardu Cloudflare přejděte na DNS záznamy stránce.

    Přejděte na Záznamy ↗
  2. Vyberte Přidat záznam.

  3. Vyberte adresu (A/AAAA) typ záznamu.

  4. Vyplňte povinná pole a nastavte Stav proxy na proxováno.

  5. Vyberte Save.

Chcete-li vytvářet záznamy pomocí API, použijte Požadavek POST. Definice polí najdete po výběru typu záznamu ve specifikaci těla požadavku.

Příklad

Typ Název IP adresa Stav proxy TTL
A www 203.0.113.150 Proxied Auto

Pokud v tomto okamžiku mapa adres pro zónu example.com určuje, že Cloudflare má použít 203.0.113.100 pro proxied záznamy a výše uvedený záznam existuje ve stejné zóně, můžete očekávat následující:

  1. Cloudflare odpovídá na požadavky DNS pro www.example.com hodnotou 203.0.113.100.
  2. Cloudflare předává požadavky přes CDN a poté je směruje na origin server 203.0.113.150.
  3. Když HTTP odpověď opouští síť Cloudflare zpět ke klientovi, zdrojová IP adresa odpovědi se stává 203.0.113.100 (IP adresa, na kterou HTTP požadavek původně dorazil).

Příklad

Za předpokladu, že 203.0.113.100 byla zároveň origin IP adresou, DNS záznam by vypadal následovně:

Typ Název IP adresa Stav proxy TTL
A www 203.0.113.100 Proxied Auto

Spectrum

Nastavení služby Spectrum tak, aby používala vaši vlastní IP adresu, je možné pouze prostřednictvím Cloudflare API.

origin_direct pole obsahuje IP adresu origin serveru, zatímco edge_ips umožňuje určit, kterou IP adresu z vašeho prefixu BYOIP má Cloudflare použít ke zpracování požadavků pro vaši aplikaci Spectrum.

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
Vytvoření aplikace Spectrum pomocí názvu pro origin server
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/spectrum/apps" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '[
		{
				"protocol": "tcp/22",
				"dns": {
						"type": "CNAME",
						"name": "ssh.example.com"
				},
				"origin_direct": [
						"tcp://192.0.2.1:22"
				],
				"proxy_protocol": "off",
				"ip_firewall": true,
				"tls": "full",
				"edge_ips": {
						"type": "static",
						"ips": [
								"203.0.113.18"
						]
				},
				"traffic_type": "direct"
		}
	]'

(Volitelné) Přidání funkcionality vrstvy 7

Podle svých potřeb využijte další funkce, například:

Poznámky pod čarou

  1. Layer 7 založené na HTTP ↩

  2. Layer 4 nebo Layer 7 HTTP s vlastními porty ↩