Přeskočit na obsah
Networks

Bring your own IP

BYOIP v Azure: vlastní IPv4 adresy jako custom IP prefix

BYOIP k dispoziciSpojené státyOvěřeno podle dokumentace Azure dne Přeloženo z angličtiny. Číst originál

Že je rozsah váš, prokážete ROA, který uvádí ASN Microsoftu, a certifikátem v jeho záznamu WHOIS/RDAP, pak ho provisionujete a odvozujete z něj public IP prefixy a adresy.

Tento návod sleduje unified model, pro rozsah používaný v jednom regionu, přes Azure CLI. Rozsah nemůže přejít na model global/regional, tedy nadřazený prefix s regionálními podřízenými, bez nového onboardingu.

Co Azure přijímá

Podle dokumentace Microsoftu v den, kdy jsme ji kontrolovali:

  • Velikost. Unified prefix „must be between /21 and /24“ (překlad: „musí být mezi /21 a /24“). Globální nadřazený prefix je také /21 až /24, s regionálními podřízenými od /22 do /26.
  • Registr a jméno. Rozsah „must be owned by you and registered under your name“ (překlad: „musí být ve vašem vlastnictví a registrován na vaše jméno“) u regionálního internetového registru, mezi nimi ARIN, RIPE NCC a APNIC. Nic o statusu PA, PI nebo legacy.
  • Kdo je origin. Microsoft, pod AS8075, nebo AS8070 pro US Gov Cloud. Stránky Microsoftu o BYOIP žádnou možnost vlastního ASN nedokumentují. Příkaz CLI v kroku 1, az network custom-ip prefix create, sice uvádí parametr --asn, popsaný jen jako „The ASN for CIDR advertising“ (překlad: „ASN pro announcování CIDR“), takže se před spolehnutím na něj zeptejte Microsoftu.
  • Regiony. Jeden region na prefix a ve výchozím stavu pět prefixů na region, na požádání víc.
  • Cena. „There's no charge to provision or use custom IP prefixes“ (překlad: „Za provisioning ani používání custom IP prefixů se nic neúčtuje“), ani za public IP prefixy a adresy z nich odvozené. Provoz se účtuje podle sazeb za internet egress.
  • Doba. Asi 30 minut na provisioning a tři až čtyři hodiny na globální commissioning.
  • Omezení. Žádné Internet Routing Preference, Global Tier, ExpressRoute Microsoft peering ani veřejné IP Standard v2. Reverzní DNS běží z vašich vlastních zón v Azure DNS, aktivace Windows Serveru může trvat až týden a provisionovaný rozsah nemůže změnit předplatné.

Než začnete

ROA pro AS8075, s délkou prefixu přesně takovou, jakou bude Microsoft announcovat, a s datem vypršení, které pokrývá dobu, po kterou chcete rozsah announcovat (RPKI a ROA). Počítejte alespoň s 24 hodinami, než ho Microsoft uvidí. Microsoft také doporučuje ROA pro každé ASN, které rozsah dnes announcuje.

Pár klíčů a certifikát podepsaný sám sebou, vytvořené pomocí OpenSSL:

Shell
openssl genrsa -out byoipprivate.key 2048
openssl req -new -x509 -key byoipprivate.key -days 180 | tr -d "\n" > byoippublickey.cer

Certifikát v záznamu WHOIS/RDAP prefixu, včetně značek BEGIN a END, bez mezer a zalomení řádků:

RegistrKam patří certifikát
RIPE NCCremarks v objektu inetnum
ARINComments záznamu prefixu
APNICremarks v objektu inetnum, přes MyAPNIC

Podepsaná autorizační zpráva: ID vašeho předplatného, prefix a datum vypršení ROA, v tomto pořadí:

Shell
byoipauth="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx|203.0.113.0/24|20270430"
byoipauthsigned=$(echo $byoipauth | tr -d "\n" | openssl dgst -sha256 -sign byoipprivate.key -keyform PEM | openssl base64 | tr -d "\n")

Microsoft nežádá žádný Letter of Authorization ani route objekt.

Krok za krokem

01Provisionujte rozsah v existující skupině prostředků. V regionu se zónami dostupnosti ho nastavte jako zone-redundant nebo ho připněte k jedné zóně:

Shell
az network custom-ip prefix create --name byoip-203-0-113-0-24 \
  --resource-group byoip-rg --location westeurope --cidr 203.0.113.0/24 --zone 1 2 3 \
  --authorization-message "$byoipauth" --signed-message "$byoipauthsigned"

02Počkejte na Provisioned. commissionedState, který vrací az network custom-ip prefix show, přejde z Provisioning na Provisioned. Brzké ValidationFailed znamená, že ROA, certifikát nebo zpráva neprošly kontrolou; pole FailedReason řekne co.

03Odvoďte adresy. Vytvořte z rozsahu public IP prefix, pak z něj adresy Standard SKU a připojte je k VM nebo load balancerům; zatím se neannouncují.

Shell
az network public-ip prefix create --name pip-203-0-113-0-28 --resource-group byoip-rg \
  --location westeurope --length 28 --custom-ip-prefix-name byoip-203-0-113-0-24 --zone 1 2 3

04Commissioning. Pokud je rozsah aktivní jinde, dva announcementy současně „could potentially create BGP routing instability or traffic loss“ (překlad: „mohou potenciálně způsobit nestabilitu směrování BGP nebo ztrátu provozu“). Nejprve proveďte commissioning uvnitř regionu (v portálu Commission a pak volba jen pro region, nebo -NoInternetAdvertise v PowerShellu), otestujte, stáhněte starý announcement a pak proveďte globální commissioning:

Shell
az network custom-ip prefix update --name byoip-203-0-113-0-24 --resource-group byoip-rg --state commission

Během stavu Commissioning je rozsah announcován částečně, nejprve z regionu, pak ze sítě Microsoftu pod AS8075, dokud není Commissioned.

Chyby, které stojí den

  • Certifikát v descr. U RIPE NCC Microsoft říká remarks, zatímco AWS čte descr a výslovně ne remarks, takže blok přesouvaný mezi těmito dvěma cloudy potřebuje změnu záznamu.
  • Datum, které nesedí. Datum v podepsané zprávě je datum vypršení ROA ve tvaru yyyymmdd; pokud žádné nemá, Microsoft říká zvolit datum, do kterého chcete rozsah announcovat.
  • ROA se špatnou délkou. Neshoda s prefixem, který provisionujete, selže jako InvalidPrefixLengthInROA.
  • Odchod ve špatném pořadí. Smažte každý odvozený public IP prefix a pak proveďte decommissioning rozsahu (tři až čtyři hodiny), než ROA změníte nebo smažete. Jinak Microsoft dál announcuje rozsah, k jehož announcování už nemá oprávnění.

Pokud si blok pronajímáte

Překážkou je pravidlo Microsoftu: rozsah „must be owned by you and registered under your name“ (překlad: „musí být ve vašem vlastnictví a registrován na vaše jméno“). Blok registrovaný jen na pronajímatele to v doslovném znění nesplňuje a Microsoft neuvádí, zda se počítá přidělení (assignment) vám v rámci alokace držitele, proto se před podpisem zeptejte držitele i Microsoftu. Držitel pak vytvoří ROA pro AS8075 a přidá váš certifikát do remarks záznamu. I reverzní DNS potřebuje držitele: Azure ji obsluhuje jen z reverzní zóny, kterou hostujete v Azure DNS a kterou vám držitel deleguje. Letter of Authorization potřeba není.

Kde se uplatní RTM Networks

Pronajímáme bloky /24 a větší z našeho vlastního adresního prostoru u RIPE NCC a prodáváme bloky v regionech RIPE NCC, ARIN a APNIC. U prostoru pronajatého od nás zaregistrujeme přidělení vaší organizaci, vytvoříme ROA pro AS8075 a přidáme váš certifikát do záznamu v registru (pronájem IPv4). Pokud Microsoft chce víc než přidělení na vaše jméno, vyřeší to koupě bloku (nákup IPv4). Pokud neprovozujete vlastní LIR, sponzorujeme PI a legacy prostor i čísla AS (sponzorství). Pro méně než 256 adres na Azure VM blok announcujeme a doručíme ho přes WireGuard, protože Azure blokuje GRE, v libovolné velikosti až po jedinou adresu (tunely WireGuard). Další poskytovatelé: návody BYOIP.

Kontakt

Přinášíte vlastní IP k Azure?

Napište nám poskytovatele, region a kolik adres potřebujete. Pronajímáme /24 a větší s hotovou prací s registrem pro vašeho poskytovatele, prodáváme bloky napevno, nebo dodáme menší počet adres přes tunel. Obvykle odpovídáme do 1 až 3 pracovních hodin.

Kontaktujte nás

Časté otázky

BYOIP u Azure: otázky

Podporuje Azure BYOIP?

Ano, jako custom IP address prefix. Že je rozsah váš, prokážete ROA pro AS8075 a certifikátem v jeho záznamu WHOIS/RDAP, provisionujete ho do regionu a odvozujete z něj public IP prefixy a adresy Standard SKU. Microsoft za provisioning ani používání rozsahu nic neúčtuje.

Jak dlouho BYOIP v Azure trvá?

Microsoft odhaduje asi 30 minut na provisioning rozsahu a tři až čtyři hodiny na jeho globální commissioning, nebo 30 minut u regionálního prefixu. Předtím počítejte alespoň s 24 hodinami, než se nový ROA dostane k Microsoftu.

Kam v databázi RIPE patří certifikát?

Podle pokynů Microsoftu do remarks objektu inetnum. AWS čte descr, a ne remarks, takže blok přesouvaný mezi těmito dvěma cloudy potřebuje změnu záznamu. ARIN ho přijímá v Comments záznamu prefixu, APNIC v remarks.

Mohu do Azure přinést pronajatý prostor?

Microsoft uvádí, že rozsah musí být vaším vlastnictvím a registrován na vaše jméno, takže záznam, který uvádí jen pronajímatele, jeho pravidlo v doslovném znění nesplňuje. Pronájem může zaregistrovat přidělení (assignment) vaší organizaci, jako to dělají naše, ale Microsoft neuvádí, zda se to počítá, proto se zeptejte před podpisem. Microsoft nežádá žádný Letter of Authorization.

Mohu místo toho použít GRE tunel do Azure VM?

Ne. Azure ve virtuálních sítích blokuje pakety GRE, stejně jako IP-in-IP. Tunel WireGuard běží přes UDP, které Azure povoluje, takže může přenášet adresy, které přes BYOIP přinést nemůžete, včetně méně než 256.