Azure VPN -yhdyskäytävän julkisen IP:n vaihto ja tilauksen siirto
Ohje VPN-yhdyskäytävän julkisen IP:n vaihtamiseen ja siirtämiseen tilausten välillä, inventaarin, palautuksen ja kontekstitarkistusten kanssa, jotka pitävät tunnelit käynnissä.
Azuren ympäristössä kolmea eri objektia kutsutaan yhdyskäytävän osoitteeksi. Yksityinen osoite jaetaan GatewaySubnetistä. Julkinen osoite on erillinen julkisen IP:n resurssi, johon yhdyskäytävän IP-määritys viittaa. Tilaus ja pilviympäristö ovat konteksti, jolla kuorisi löytää jomman kumman. Vaihda yksi, ja kaksi muuta pysyvät paikallaan — siksi osoitetyö jää niin usein kesken.
Teen nämä muutokset neljässä vaiheessa: inventoin objektit, päätän siirtyykö julkinen IP olemassa olevaan yhdyskäytävään vai rakennetaanko yhdyskäytävä uudelleen, teen muutoksen vanhan osoitteen ollessa vielä käsissä ja tarkistan sitten jokaisen tunnelin molemmista päistä ennen minkään poistamista. Vaihe, joka ohitetaan, on inventaari.
Mitä kolmesta objektista oikeastaan muutat
Nimeä objekti ennen portaalin avaamista. VPN-yhdyskäytävä ottaa yksityisen osoitteensa aliverkosta, jonka nimen on oltava täsmälleen GatewaySubnet, ja Azure jakaa sen tästä etuliitteestä; yleistä kenttää sen kiinnittämiseen ei ole. Osoite näyttää vakaalta vain siksi, että aliverkko on vakaa. Vaihda aliverkon osoite tai rakenna yhdyskäytävä uudelleen, ja se siirtyy niiden mukana.
Julkinen osoite on muokattavissa, mutta SKU-säännöt ratkaisevat, onko muokkaus sallittu. Basic-yhdyskäytävä sopii Basic-dynaamisen julkisen IP:n kanssa, VpnGw-SKUt tarvitsevat Standard-staattisen ja vyöhykkeellisesti redundantti yhdyskäytävä tarvitsee Standard-julkisen IP:n samoilla vyöhykkeillä. Väärä SKU hylätään ennen kuin tunneli kaatuu.
| 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 |
Inventaari ennen kuin mikään liikkuu
Todista ensin tilaus, koska ilman sitä muu inventaari on arvoton. Kirjaa yhdyskäytävä, sen IP-määritykset ja jokainen siihen päättyvä yhteys, ja pidä tuloste muutoksen kirjauksen vieressä.
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
Resurssitunnukset ovat tärkeämpiä kuin nimet. Yhteydellä on viittaukset yhdyskäytävään ja paikalliseen verkkoon, ja nämä tunnukset näkyvät skripteissä, hälytyksissä ja käytäntöjen kohdennuksissa, joita kukaan ei muista. Listaa myös Azure n ulkopuolinen: osoitteeseen johtava DNS-nimi, kumppanin sallittujen luettelo, sivuliikkeen palomuuri, joka kiinnittää vanhan IP:n.
Julkisen IP:n vaihto käynnissä olevassa yhdyskäytävässä
Luo korvaava osoite ensin, samaan alueeseen ja yhdyskäytävään sopivalla vyöhykejoukolla, ja jätä vanha resurssi paikalleen. Rakenna sitten IP-määritys uudelleen ja lähetä päivitys yhdellä kutsulla. Kutsua korvaa koko määrityskokoelman, joten aktiivisesti kahdennettu yhdyskäytävä tarvitsee molemmat, muuten säilytät yhden tunnelin ja menetät toisen.
$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
Tunnelit kaatuvat, kun yhdyskäytävä valmistetaan uudelleen. Etäpää tarvitsee aikataulun: kumppanin palomuuri tarjoaa vanhaa osoitetta, kunnes joku muokkaa sitä, ja yhteys, jonka etäpää odottaa edellistä IP:tä, pysyy alhaalla riippumatta siitä, kuinka terveeltä Azure näyttää. Laske DNS-TTL:ää ennen ikkunaa.
Piste-paikkaan-asiakkaat tarvitsevat uuden profiilin, koska ladattu paketti sisältää päätepisteen. Yhdyskäytävän edessä oleva mukautettu DNS-nimi säästää uudelleenjaolta: pidä nimi, vaihda tietue.
Yhdyskäytävän siirto toiseen tilaukseen
Resurssien siirto siirtää joukon, ja yhdyskäytävä yksin on sen vähiten hyödyllinen jäsen. Virtuaaliverkko, julkisen IP:n resurssit, paikalliset verkkoyhdyt ja yhteydet matkustavat yhdessä, koska jokaisella on viittaus toiseen. Kohdetilauksen on oltava samassa vuokraajassa, Microsoft.Network on rekisteröitävä sinne, ja tarvitset kirjoitusoikeuden molemmilla puolilla.
Validointi ajetaan ennen kuin mitään muuttuu, joten hylätty siirto jättää resurssit paikalleen. Siksi siirto ansaitsee yrityksen ennen uudelleenrakennusta: onnistunut siirto kuljettaa julkisen IP:n mukanaan, joten kumppanit ja sallitut luettelot toimivat edelleen, kun taas uudelleenrakennettu yhdyskäytävä palauttaa harvoin saman osoitteen.
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
Lue validointivirhe sen sijaan että toistat sen. Tavallisia syitä ovat jäljelle jäänyt riippuvuus, resurssityyppi jota ei voi siirtää tai lukko jossakin resurssiryhmässä. Jos siirto ei ole mahdollinen, rakenna kohde uudelleen ja vaihda: vahvista reititys ja todennus testialiverkosta, pysäytä vanhat yhteydet poistamisen sijaan ja poista vanha polku myöhemmässä ikkunassa.
Kun yhdyskäytävä näyttää puuttuvan, tarkista konteksti
Ei löytynyt -virhe on yleensä laajuusvirhe. Tili, jolla on useita tilauksia, osoittaa cmdlet-komennon väärään, ja viesti syyttää resurssia. Hae objekti täydellä resurssitunnuksella: tunnus kantaa oman tilauksensa, joten jos se ratkeaa, mitään ei puutu ja oletuskontekstisi on väärä.
Kaksi muuta poikkeamaa luetaan samoin. Kaupallisen pilven yhdyskäytävää ei ole istunnossa, joka on suunnattu valtion tai Kiinan ympäristöön, ja vanhemmat moduuliversiot ohittavat resurssimuotoja, jotka API jo palauttaa. Kiinnitä tilaus, sovita ympäristö ja avaa sitten tapaus.
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
Tarkista molemmista päistä ennen siivousta
Yhdistetty on tila, ei todiste. Tarkista tunnelin tila yhteyksittäin, BGP-naapurin tila jos käytät dynaamista reititystä, ja tehokkaat reitit työkuorman aliverkossa. Työnnä sitten yksi todellinen pyyntö sovelluksen läpi, joka riippuu tunnelista. Yhteys voi ilmoittaa olevansa yhdistetty, vaikka tarvitsemasi etuliite puuttuu reititystaulusta.
Get-AzVirtualNetworkGatewayBGPPeerStatus -VirtualNetworkGatewayName gw-hub -ResourceGroupName rg-hub
Get-AzEffectiveRouteTable -NetworkInterfaceName nic-app -ResourceGroupName rg-app
Pidä vanha julkinen IP irrotettuna eikä poistettuna, kunnes paluuikkuna sulkeutuu, ja kirjoita kumppanin ja palomuurin muokkaukset niin, että ne voi perua järjestyksessä.
- Konteksti on kiinnitetty tilaukseen, joka omistaa yhdyskäytävän
- Vanha julkinen IP on säilytetty ja sen riippuvuudet kirjattu
- Jokainen yhteys vihreä ja yksi todellinen pyyntö sen läpi
- Piste-paikkaan-käyttäjät on siirretty päivitettyyn profiiliin
- DNS-tietue on vaihdettu ja sen aiempi arvo kirjattu