Azure'i VPN-lüüsi avaliku IP muutmine ja tellimuse üleviimine
Juhend VPN-lüüsi avaliku IP vahetamiseks ja tellimuste vahel liigutamiseks, koos inventuuri, tagasipööramise ja kontekstikontrollidega, mis hoiavad tunnelid töös.
Azure'is nimetatakse lüüsi aadressiks kolme eri objekti. Privaatne aadress eraldatakse GatewaySubnetist. Avalik aadress on eraldi avaliku IP ressurss, millele lüüsi IP-konfiguratsioon osutab. Tellimus ja pilvekeskkond on kontekst, millega sinu kest ühe või teise leiab. Muuda üht ja ülejäänud kaks jäävad paigale — seepärast jääb aadressitöö nii sageli poole peale.
Teen need muudatused neljas etapis: objektide inventuur, otsus, kas avalik IP liigub olemasolevale lüüsile või lüüs ehitatakse uuesti, muudatuse rakendamine, kuni vana aadress on veel käepärast, ja siis iga tunneli kontrollimine mõlemast otsast enne millegi kustutamist. Etapp, mille inimesed vahele jätavad, on inventuur.
Millist kolmest objektist sa tegelikult muudad
Nimeta objekt enne portaali avamist. VPN-lüüs võtab privaatse aadressi alamvõrgust, mille nimi peab olema täpselt GatewaySubnet, ja Azure eraldab selle sellest prefiksist; selle kinnitamiseks pole üldist välja. Aadress tundub stabiilne ainult seetõttu, et alamvõrk on stabiilne. Muuda alamvõrgu aadressi või ehita lüüs uuesti ja see liigub nendega kaasa.
Avalikku aadressi saab muuta, kuid SKU-reeglid otsustavad, kas muudatus on lubatud. Basic-lüüs sobib Basic dünaamilise avaliku IP-ga, VpnGw SKU-d vajavad Standard staatilist ja tsooniredundantne lüüs vajab Standard avalikku IP-d samade tsoonidega. Vale SKU lükatakse tagasi enne, kui tunnel langeb.
| Object | Where it lives | What a change forces |
|---|---|---|
| Private address | GatewaySubnet prefix, assigned at deployment | Subnet resize or rebuild, then routes, NSGs and peer review |
| Public address | Public IP resource referenced by the IP configuration | Gateway reprovision, peer and allowlist edits, new client profiles |
| Subscription context | Your PowerShell or CLI session | Nothing in Azure, and it clears most not-found errors |
Inventuur enne, kui miski liigub
Tõesta esmalt tellimus, sest ilma selleta pole ülejäänud inventuuril väärtust. Fikseeri lüüs, selle IP-konfiguratsioonid ja iga ühendus, mis sellel lõpeb, ning hoia väljund muudatuse kirje kõrval.
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
Ressursi-ID-d loevad rohkem kui nimed. Ühendus hoiab viiteid lüüsile ja kohalikule võrgulüüsile ning need ID-d ilmuvad skriptides, hoiatustes ja poliitika määramistes, mida keegi ei mäleta. Loetle ka see, mis on väljaspool Azure'i: aadressile viitav DNS-nimi, partneri lubatud nimekiri, haru tulemüür, mis hoiab vana IP-d.
Avaliku IP vahetamine töötaval lüüsil
Loo asendusaadress kõigepealt, samas piirkonnas ja lüüsile sobiva tsoonikomplektiga, ja jäta vana ressurss paigale. Seejärel ehita IP-konfiguratsioon uuesti ja saada uuendus ühe kutsega. See kutse asendab kogu konfiguratsioonikogu, seega aktiiv-aktiivne lüüs vajab mõlemat, muidu jääb üks tunnel alles ja teine läheb kaotsi.
$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
Tunnelid langevad, kui lüüsi uuesti ette valmistatakse. Kaugpool vajab ajakava: partneri tulemüür pakub vana aadressi seni, kuni keegi selle ära muudab, ja ühendus, mille kaugots ootab eelmist IP-d, jääb maas, ükskõik kui terve Azure paistab. Langeta DNS-i TTL enne akent.
Punkt-koht-ühenduse kliendid vajavad uut profiili, sest allalaaditud pakett kannab lõpp-punkti. Lüüsi ees olev kohandatud DNS-nimi säästab sind ümberjagamisest: hoia nimi, muuda kirje.
Lüüsi viimine teise tellimusse
Ressursside üleviimine viib komplekti ja lüüs üksi on selle kõige kasutum liige. Virtuaalne võrk, avaliku IP ressursid, kohalikud võrgulüüsid ja ühendused reisivad koos, sest igaüks hoiab viidet teisele. Sihttellimus peab olema samas rentnikus, Microsoft.Network peab seal registreeritud olema ja sul on vaja kirjutamisõigust mõlemal pool.
Valideerimine jookseb enne, kui miski muutub, seega tagasilükatud üleviimine jätab ressursid paigale. Seepärast tasub üleviimist enne ülesehitamist proovida: õnnestunud üleviimine kannab avaliku IP kaasa, nii et partnerid ja lubatud nimekirjad töötavad edasi, samas kui uuesti ehitatud lüüs annab harva sama aadressi tagasi.
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
Loe valideerimise nurjumist, mitte ära korda seda. Tavalised põhjused on maha jäetud sõltuvus, ressurssi tüüp, mida ei saa liigutada, või lukk mõnel ressursigrupil. Kui üleviimine on võimatu, ehita sihtkohas uuesti ja lülita üle: kinnita marsruutimine ja autentimine testalamvõrgust, peata vanad ühendused nende kustutamise asemel, seejärel eemalda vana tee hilisemas aknas.
Kui lüüs tundub kadunud, kontrolli konteksti
Ei leitud viga on tavaliselt ulatuse viga. Mitme tellimusega konto suunab cmdleti vale tellimuse poole ja teade süüdistab ressurssi. Otsi objekt üles täieliku ressursi-ID järgi: ID kannab oma tellimust, nii et kui see laheneb, ei ole midagi puudu ja sinu vaikekontekst on vale.
Veel kaks mittevastavust loetakse samamoodi. Kommertspilve lüüs ei eksisteeri seansis, mis on suunatud valitsuse või Hiina keskkonnale, ja vanemad mooduliversioonid jätavad vahele ressursikujusid, mida API juba tagastab. Kinnita tellimus, sobita keskkond, seejärel ava juhtum.
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
Kontrolli mõlemast otsast enne koristamist
Ühendatud on olek, mitte tõend. Kontrolli tunneli olekut ühenduse kaupa, BGP-peer olekut, kui kasutad dünaamilist marsruutimist, ja kehtivaid marsruute töökoormuse alamvõrgus. Seejärel lase üks päris päring läbi rakenduse, mis tunnelist sõltub. Ühendus võib end ühendatuks teatada, samal ajal kui vajalik prefiks marsruutitabelist puudub.
Get-AzVirtualNetworkGatewayBGPPeerStatus -VirtualNetworkGatewayName gw-hub -ResourceGroupName rg-hub
Get-AzEffectiveRouteTable -NetworkInterfaceName nic-app -ResourceGroupName rg-app
Hoia vana avalik IP lahtiühendatud, mitte kustutatud, kuni tagasipöördumise aken sulgub, ja kirjuta partneri ja tulemüüri muudatused üles, et neid saaks järjekorras tagasi pöörata.
- Kontekst on kinnitatud tellimusele, millele lüüs kuulub
- Vana avalik IP on alles, selle sõltuvused kirjas
- Iga ühendus roheline ja üks päris päring sellest läbi
- Punkt-koht kasutajad on viidud uuendatud profiilile
- DNS-kirje on muudetud ja selle eelmine väärtus kirja pandud