Azure'da uch xil obyekt shlyuz manzili deb ataladi. Xususiy manzil GatewaySubnet'dan ajratiladi. Ommaviy manzil shlyuzning IP konfiguratsiyasi ko'rsatuvchi alohida ommaviy IP resursidir. Obuna va bulut muhiti — qobiqingiz u yoki bu obyektni topish uchun ishlatadigan kontekst. Birini o'zgartirsangiz, qolgan ikkisi joyida qoladi, shuning uchun manzil ishi ko'pincha yarim yo'lda to'xtaydi.

Bu o'zgarishlarni to'rt bosqichda bajaraman: obyektlar inventari, ommaviy IP mavjud shlyuzda ko'chadimi yoki shlyuz qayta quriladimi — qaror, eski manzil qo'lda bo'lganda o'zgarishni qo'llash, so'ngra biror narsani o'chirishdan oldin har bir tunnelni ikki tomondan tekshirish. Odamlar tashlab ketadigan bosqich — inventar.

Uch obyektdan qaysinisini haqiqatda o'zgartiryapsiz

Portalni ochishdan oldin obyektni nomlang. VPN shlyuz xususiy manzilini aynan GatewaySubnet deb nomlanishi kerak bo'lgan quyi tarmoqdan oladi va Azure uni shu prefiksdан ajratadi; uni qotirish uchun umumiy maydon yo'q. Manzil barqaror ko'rinadi, chunki quyi tarmoq barqaror. Quyi tarmoqni qayta manzillang yoki shlyuzni qayta quring — manzil ular bilan birga ko'chadi.

Ommaviy manzilni tahrirlash mumkin, lekin tahrir qonuniyligini SKU qoidalari hal qiladi. Basic shlyuz Basic dinamik ommaviy IP bilan juftlashadi, VpnGw SKU'lari Standard statik talab qiladi, zona-zaxirali shlyuz esa o'sha zonalarga ega Standard ommaviy IP talab qiladi. Noto'g'ri SKU tunnel yiqilishidan oldin rad etiladi.

ObjectWhere it livesWhat a change forces
Private addressGatewaySubnet prefix, assigned at deploymentSubnet resize or rebuild, then routes, NSGs and peer review
Public addressPublic IP resource referenced by the IP configurationGateway reprovision, peer and allowlist edits, new client profiles
Subscription contextYour PowerShell or CLI sessionNothing in Azure, and it clears most not-found errors

Biror narsa qimirlashidan oldin inventar

Avval obunani isbotlang, chunki usiz qolgan inventar foydasiz. Shlyuz, uning IP konfiguratsiyalari va unda tugaydigan har bir ulanishni qayd eting, natijani o'zgarish yozuvi yonida saqlang.

Get-AzContext | Select-Object Subscription, Tenant, Environment
Get-AzVirtualNetworkGateway -ResourceGroupName rg-hub -Name gw-hub |
  Select-Object Name, Sku, EnableActiveActive, IpConfigurations
Get-AzVirtualNetworkGatewayConnection -ResourceGroupName rg-hub |
  Select-Object Name, ConnectionStatus, ConnectionType

Resurs ID'lari nomlardan muhimroq. Ulanish shlyuzga va mahalliy tarmoq shlyuziga havolalar saqlaydi, bu ID'lar hech kim eslamaydigan skriptlar, ogohlantirishlar va siyosat tayinlashlarida ko'rinadi. Azure'dan tashqaridagilarni ham sanang: manzilga olib boruvchi DNS nomi, hamkorning ruxsat ro'yxati, eski IP'ni qotiruvchi filial xavfsizlik devori.

Ishlayotgan shlyuzda ommaviy IP'ni almashtirish

Avval zaxira manzilni o'sha hududda va shlyuzga mos zonalar to'plami bilan yarating, eski resursni joyida qoldiring. So'ng IP konfiguratsiyasini qayta quring va yangilanishni bitta chaqiruvda yuboring. Bu chaqiruv butun konfiguratsiyalar to'plamini almashtiradi, shuning uchun faol-faol shlyuzga ikkalasi ham kerak, aks holda bitta tunnel qoladi, ikkinchisi yo'qoladi.

$gw = Get-AzVirtualNetworkGateway -ResourceGroupName rg-hub -Name gw-hub
$pip = New-AzPublicIpAddress -Name pip-gw-hub-2 -ResourceGroupName rg-hub `
  -Location westeurope -AllocationMethod Static -Sku Standard
$conf = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 `
  -SubnetId $gw.IpConfigurations[0].Subnet.Id -PublicIpAddressId $pip.Id
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $gw -IpConfigurations $conf

Shlyuz qayta tayyorlanayotganda tunnellar yiqiladi. Uzoq tomon jadvalga muhtoj: hamkor xavfsizlik devori kimdir tahrirlamaguncha eski manzilni taklif qiladi, uzoq uchi oldingi IP'ni kutayotgan ulanish esa Azure qanchalik sog'lom ko'rinmasin, pastda qoladi. Oyna oldidan DNS TTL'ni pasaytiring.

Nuqta-sayt mijozlariga yangi profil kerak, chunki yuklangan paket oxirgi nuqtani olib yuradi. Shlyuz oldidagi xususiy DNS nomi qayta tarqatishdan xalos qiladi: nomni saqlang, yozuvni o'zgartiring.

Shlyuzni boshqa obunaga ko'chirish

Resurslar ko'chirilishi to'plamni ko'chiradi, shlyuzning o'zi esa uning eng foydasiz a'zosi. Virtual tarmoq, ommaviy IP resurslari, mahalliy tarmoq shlyuzlari va ulanishlar birga sayohat qiladi, chunki har biri boshqasiga havola saqlaydi. Maqsadli obuna o'sha tenantda bo'lishi, Microsoft.Network u yerda ro'yxatdan o'tgan bo'lishi va ikki tomonda yozish huquqi bo'lishi kerak.

Tekshiruv har qanday o'zgarishdan oldin ishlaydi, shuning uchun rad etilgan ko'chirish resurslarni joyida qoldiradi. Shuning uchun qayta qurishdan oldin ko'chirishni sinab ko'rishga arziydi: muvaffaqiyatli ko'chirish ommaviy IP'ni o'zi bilan olib ketadi, hamkorlar va ruxsat ro'yxatlari ishlashda davom etadi, qayta qurilgan shlyuz esa o'sha manzilni kamdan-kam qaytaradi.

az resource move --destination-group rg-hub `
  --destination-subscription-id 00000000-0000-0000-0000-000000000000 `
  --ids /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg-hub/providers/Microsoft.Network/virtualNetworkGateways/gw-hub

Tekshiruv xatosini takrorlash o'rniga o'qing. Odatiy sabablar — qoldirilgan bog'liqlik, ko'chirilmaydigan resurs turi yoki resurs guruhlaridan biridagi qulf. Ko'chirish imkonsiz bo'lsa, maqsadda qayta quring va o'ting: sinov quyi tarmog'idan marshrutlash va autentifikatsiyani tasdiqlang, eski ulanishlarni o'chirish o'rniga to'xtating, so'ngra eski yo'lni keyingi oynada olib tashlang.

Shlyuz yo'qolgan ko'rinsa, kontekstni tekshiring

Topilmadi xatosi odatda qamrov xatosi. Bir necha obunali hisob cmdlet'ni noto'g'risiga yo'naltiradi, xabar esa resursni ayblaydi. Buning o'rniga obyektni to'liq resurs ID'si bilan qidiring: ID o'z obunasini olib yuradi, shuning uchun u hal bo'lsa, hech narsa yo'qolmagan va standart kontekstingiz noto'g'ri.

Yana ikkita nomuvofiqlik shunday o'qiladi. Tijorat bulut shlyuzi hukumat yoki Xitoy muhitiga qaratilgan sessiyada mavjud emas, eski modul versiyalari esa API allaqachon qaytaradigan resurs shakllarini o'tkazib yuboradi. Obunani qotiring, muhitni moslashtiring, so'ngra ish oching.

Set-AzContext -SubscriptionId 11111111-1111-1111-1111-111111111111
Get-AzResource -ResourceId /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg-hub/providers/Microsoft.Network/virtualNetworkGateways/gw-hub

Tozalashdan oldin ikki tomondan tekshiring

Ulangan — holat, dalil emas. Har bir ulanish bo'yicha tunnel holatini, dinamik marshrutlash bo'lsa BGP peer holatini va ish yuklamasi quyi tarmog'idagi samarali marshrutlarni tekshiring. So'ngra tunnelga bog'liq ilovadan bitta haqiqiy so'rov o'tkazing. Kerakli prefiks marshrut jadvalida bo'lmasa ham ulanish o'zini ulangan deb xabar qilishi mumkin.

Get-AzVirtualNetworkGatewayBGPPeerStatus -VirtualNetworkGatewayName gw-hub -ResourceGroupName rg-hub
Get-AzEffectiveRouteTable -NetworkInterfaceName nic-app -ResourceGroupName rg-app

Eski ommaviy IP'ni o'chirish o'rniga qaytarish oynasi yopilguncha ajratilgan holda saqlang va hamkor hamda xavfsizlik devori tahrirlarini tartib bilan qaytariladigan qilib yozing.

  • Kontekst shlyuzga tegishli obunaga qotirilgan
  • Eski ommaviy IP saqlangan, bog'liqliklari yozilgan
  • Har bir ulanish yashil va u orqali bitta haqiqiy so'rov
  • Nuqta-sayt foydalanuvchilari yangilangan profilga ko'chirildi
  • DNS yozuvi o'zgartirildi va oldingi qiymati qayd etildi

O'xshash maqolalar