Перейти до змісту
Networks

Bring your own IP

BYOIP в Azure: власні IPv4-адреси як custom IP prefix

BYOIP доступнийСШАЗвірено з документацією Azure станом на Перекладено з англійської. Читати оригінал

Ви доводите, що діапазон ваш, через ROA, що називає ASN Microsoft, і сертифікат у його записі WHOIS/RDAP, потім надаєте його і створюєте з нього public IP prefixes та адреси.

Цей посібник іде за уніфікованою моделлю, для діапазону, що використовується в одному регіоні, через Azure CLI. Діапазон не може перейти на глобальну/регіональну модель, батьківський префікс з регіональними дочірніми, без повторного підключення.

Що приймає Azure

З документації Microsoft, у день нашої перевірки:

  • Розмір. Уніфікований префікс «must be between /21 and /24» (переклад: «має бути від /21 до /24»). Глобальний батьківський також від /21 до /24, з регіональними дочірніми від /22 до /26.
  • Реєстр та ім’я. Діапазон «must be owned by you and registered under your name» (переклад: «має належати вам і бути зареєстрованим на ваше ім’я») у регіональному інтернет-реєстрі, серед яких ARIN, RIPE NCC та APNIC. Нічого про статус PA, PI чи legacy.
  • Хто анонсує. Microsoft, під AS8075, або AS8070 для US Gov Cloud. Сторінки Microsoft про BYOIP не документують варіанту з вашим власним ASN. Команда CLI з кроку 1, az network custom-ip prefix create, справді має параметр --asn, описаний лише як «The ASN for CIDR advertising» (переклад: «ASN для анонсу CIDR»), тож запитайте Microsoft, перш ніж на це розраховувати.
  • Регіони. Один регіон на префікс і за замовчуванням п’ять префіксів на регіон, більше на запит.
  • Ціна. «There's no charge to provision or use custom IP prefixes» (переклад: «За надання чи використання custom IP prefixes плата не стягується»), як і за public IP prefixes та адреси, створені з них. Трафік оплачується за тарифами вихідного інтернет-трафіку.
  • Терміни. Близько 30 хвилин на надання і три-чотири години на глобальне введення в дію.
  • Обмеження. Без Internet Routing Preference, Global Tier, ExpressRoute Microsoft peering чи публічних IP Standard v2. Зворотний DNS працює з ваших власних зон в Azure DNS, Windows Server Activation може тривати до тижня, а наданий діапазон не може змінити підписку.

Перед початком

ROA для AS8075, з довжиною префікса рівно такою, з якою його анонсуватиме Microsoft, і датою закінчення дії, що охоплює час, протягом якого ви хочете анонс (RPKI та ROA). Дайте щонайменше 24 години, щоб Microsoft його побачив. Microsoft також рекомендує ROA для будь-якого ASN, що анонсує діапазон сьогодні.

Пара ключів і самопідписаний сертифікат, створені за допомогою OpenSSL:

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

Сертифікат у записі WHOIS/RDAP префікса, разом із маркерами BEGIN і END, без пробілів і переносів рядків:

РеєстрКуди йде сертифікат
RIPE NCCremarks в об’єкті inetnum
ARINComments запису префікса
APNICremarks в об’єкті inetnum, через MyAPNIC

Підписане повідомлення авторизації: ID вашої підписки, префікс і дата закінчення дії ROA, у такому порядку:

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 не просить ні листа авторизації, ні об’єкта route.

Крок за кроком

01Надайте діапазон в існуючій групі ресурсів. У регіоні із зонами доступності зробіть його zone-redundant або прив’яжіть до однієї зони:

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"

02Дочекайтеся Provisioned. commissionedState, який повертає az network custom-ip prefix show, змінюється з Provisioning на Provisioned. Ранній ValidationFailed означає, що ROA, сертифікат або повідомлення не пройшли перевірку; поле FailedReason каже, що саме.

03Створіть адреси. Створіть public IP prefix з діапазону, потім з нього адреси Standard SKU, і прив’яжіть їх до VM чи балансувальників навантаження; вони ще не анонсуються.

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

04Введіть у дію. Якщо діапазон працює деінде, два анонси одночасно «could potentially create BGP routing instability or traffic loss» (переклад: «можуть спричинити нестабільність маршрутизації BGP або втрату трафіку»). Спершу введіть його в дію всередині регіону (Commission, потім опція лише для регіону, у порталі, або -NoInternetAdvertise у PowerShell), протестуйте, відкличте старий анонс, потім введіть його в дію глобально:

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

Поки статус Commissioning, діапазон анонсується частково, спершу з регіону, потім з мережі Microsoft під AS8075, доки не стане Commissioned.

Помилки, що коштують дня

  • Сертифікат у descr. Для RIPE NCC Microsoft каже remarks, тоді як AWS читає descr і явно не remarks, тож для блоку, який переходить між цими двома хмарами, запис треба змінити.
  • Дата, що не збігається. Дата в підписаному повідомленні це дата закінчення дії ROA у форматі yyyymmdd; якщо її немає, Microsoft радить вибрати дату, до якої ви хочете анонсувати діапазон.
  • ROA з неправильною довжиною. Розбіжність із префіксом, який ви надаєте, дає помилку InvalidPrefixLengthInROA.
  • Вихід у неправильному порядку. Видаліть кожен створений public IP prefix, потім виведіть діапазон з дії (три-чотири години), перш ніж змінювати чи видаляти ROA. Інакше Microsoft продовжить анонсувати діапазон, який він уже не має права анонсувати.

Якщо ви орендуєте блок

Перешкодою є правило Microsoft: діапазон «must be owned by you and registered under your name» (переклад: «має належати вам і бути зареєстрованим на ваше ім’я»). Блок, зареєстрований лише на орендодавця, не відповідає цьому в буквальному формулюванні, а Microsoft не каже, чи зараховується призначення на вас у межах виділення власника, тож запитайте власника і Microsoft до підписання. Потім власник створює ROA для AS8075 і додає ваш сертифікат до remarks запису. Для зворотного DNS теж потрібен власник: Azure обслуговує його лише зі зворотної зони, яку ви розміщуєте в Azure DNS і яку власник делегує вам. Лист авторизації не потрібен.

Де тут RTM Networks

Ми здаємо в оренду /24 і більші блоки з нашого власного адресного простору RIPE NCC і продаємо блоки в регіонах RIPE NCC, ARIN та APNIC. Для простору, орендованого в нас, ми реєструємо призначення на вашу організацію, створюємо ROA для AS8075 і додаємо ваш сертифікат до запису реєстру (оренда IPv4). Якщо Microsoft захоче більшого, ніж призначення на ваше ім’я, купівля блоку це вирішує (купівля IPv4). Якщо у вас немає власного LIR, ми спонсоруємо PI і legacy-простір та номери AS (спонсорство). Для менш ніж 256 адрес на VM в Azure ми анонсуємо блок і доставляємо його через WireGuard, оскільки Azure блокує GRE, будь-якого розміру аж до однієї адреси (WireGuard-тунелі). Інші провайдери: посібники BYOIP.

Контакти

Переносите власні IP до Azure?

Скажіть провайдера, регіон і скільки адрес вам потрібно. Ми здаємо в оренду /24 і більше з уже виконаною роботою з реєстром для вашого провайдера, продаємо блоки у власність або доставляємо меншу кількість адрес через тунель. Ми зазвичай відповідаємо протягом 1–3 годин у робочий час.

Зв’язатися з нами

Часті запитання

BYOIP у Azure: запитання

Чи підтримує Azure BYOIP?

Так, як custom IP address prefix. Ви доводите, що діапазон ваш, через ROA для AS8075 і сертифікат у його записі WHOIS/RDAP, надаєте його в регіон і створюєте з нього public IP prefixes та адреси Standard SKU. Microsoft нічого не бере за надання чи використання діапазону.

Скільки триває BYOIP в Azure?

За оцінкою Microsoft, близько 30 хвилин на надання діапазону і три-чотири години на його глобальне введення в дію, або 30 хвилин для регіонального префікса. Перед цим дайте щонайменше 24 години, щоб новий ROA дійшов до Microsoft.

Куди йде сертифікат у базі даних RIPE?

У remarks об’єкта inetnum, за інструкціями Microsoft. AWS читає descr, а не remarks, тож для блоку, який переходить між цими двома хмарами, запис треба змінити. ARIN приймає його в Comments запису префікса, APNIC у remarks.

Чи можна принести в Azure орендований простір?

Microsoft каже, що діапазон має належати вам і бути зареєстрованим на ваше ім’я, тож запис, що називає лише орендодавця, не відповідає цьому правилу в його буквальному формулюванні. Оренда може зареєструвати призначення (assignment) на вашу організацію, як роблять наші, але Microsoft не каже, чи це зараховується, тож запитайте до підписання. Microsoft не просить листа авторизації.

Чи можна натомість використати тунель GRE до VM в Azure?

Ні. Azure блокує пакети GRE у віртуальних мережах, як і IP-in-IP. Тунель WireGuard працює через UDP, який Azure дозволяє, тож він може доставити адреси, які не можна принести через BYOIP, зокрема менш ніж 256.