V Azure trije različni objekti nosijo ime naslov prehoda. Zasebni naslov se dodeli iz GatewaySubnet. Javni naslov je ločen vir javnega IP, na katerega kaže IP-konfiguracija prehoda. Naročnina in oblačno okolje sta kontekst, s katerim lupina najde enega ali drugega. Spremenite enega in druga dva ostaneta na mestu, zato se delo z naslovi tako pogosto ustavi na pol poti.

Te spremembe izvajam v štirih korakih: popis objektov, odločitev, ali se javni IP premakne na obstoječi prehod ali se prehod znova zgradi, izvedba spremembe, dokler je stari naslov še pri roki, in nato preveritev vsakega tunela z obeh strani pred brisanjem česar koli. Korak, ki ga ljudje preskočijo, je popis.

Kateri od treh objektov dejansko spreminjate

Objekt poimenujte, preden odprete portal. Prehod VPN vzame zasebni naslov iz podomrežja, ki se mora imenovati točno GatewaySubnet, in Azure ga dodeli iz te predpone; splošnega polja za njegovo pripenjanje ni. Naslov je videti stabilen le zato, ker je podomrežje stabilno. Preštevilčite podomrežje ali znova zgradite prehod in naslov se premakne z njima.

Javni naslov je mogoče urejati, vendar pravila SKU odločajo, ali je urejanje dovoljeno. Prehod Basic se ujema z dinamičnim javnim IP Basic, SKU VpnGw zahtevajo statičnega Standard, območno redundantni prehod pa zahteva javni IP Standard z istimi območji. Napačen SKU se zavrne, preden tunel pade.

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

Popis, preden se karkoli premakne

Najprej dokažite naročnino, saj je brez nje preostali popis brez vrednosti. Zabeležite prehod, njegove IP-konfiguracije in vsako povezavo, ki se konča na njem, izpis pa shranite ob zapisu o spremembi.

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

ID-ji virov so pomembnejši od imen. Povezava vsebuje sklice na prehod in na krajevni omrežni prehod, ti ID-ji pa se pojavljajo v skriptah, opozorilih in dodelitvah pravilnikov, ki se jih nihče ne spomni. Naštejte tudi, kar je zunaj Azure: ime DNS, ki vodi na naslov, seznam dovoljenj partnerja, podružnični požarni zid, ki pripenja stari IP.

Zamenjava javnega IP na delujočem prehodu

Najprej ustvarite nadomestni naslov v isti regiji in z naborom območij, ki ustreza prehodu, stari vir pa pustite na mestu. Nato znova zgradite IP-konfiguracijo in pošljite posodobitev z enim klicem. Ta klic nadomesti celotno zbirko konfiguracij, zato aktivni-aktivni prehod potrebuje obe, sicer obdržite en tunel in izgubite drugega.

$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

Tuneli padajo, medtem ko se prehod znova pripravlja. Oddaljena stran potrebuje načrt: požarni zid partnerja še naprej ponuja stari naslov, dokler ga nekdo ne uredi, povezava, katere oddaljeni konec pričakuje prejšnji IP, pa ostane spodaj, ne glede na to, kako zdrav je videti Azure. Pred oknom znižajte TTL DNS.

Odjemalci od točke do mesta potrebujejo nov profil, ker preneseni paket nosi končno točko. Lastno ime DNS pred prehodom vam prihrani prerazporeditev: obdržite ime, spremenite zapis.

Premik prehoda v drugo naročnino

Premik virov premakne nabor in prehod sam je njegov najmanj uporaben člen. Navidezno omrežje, viri javnega IP, krajevni omrežni prehodi in povezave potujejo skupaj, ker vsak drži sklic na drugega. Ciljna naročnina mora biti v istem najemniku, Microsoft.Network mora biti tam registriran, na obeh straneh pa potrebujete pravico pisanja.

Preverjanje se izvede pred vsako spremembo, zato zavrnjen premik pusti vire na mestu. Zato si premik zasluži poskus pred ponovno gradnjo: uspešen premik odnese javni IP s seboj, tako da partnerji in seznami dovoljenj še naprej delujejo, medtem ko ponovno zgrajen prehod le redko vrne isti naslov.

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

Preberite napako preverjanja, namesto da bi jo ponavljali. Običajni vzroki so zapuščena odvisnost, vrsta vira, ki se ne more premakniti, ali zaklep na eni od skupin virov. Če premik ni mogoč, znova zgradite v cilju in preklopite: potrdite usmerjanje in preverjanje pristnosti iz preskusnega podomrežja, stare povezave ustavite, namesto da jih brišete, nato staro pot odstranite v poznejšem oknu.

Ko prehod izgleda, kot da manjka, preverite kontekst

Napaka ni najdeno je običajno napaka obsega. Račun z več naročninami usmeri cmdlet v napačno, sporočilo pa obtoži vir. Objekt poiščite po polnem ID-ju vira: ID nosi svojo naročnino, zato če se razreši, nič ne manjka in vaš privzeti kontekst je napačen.

Še dve neujemanji se bereta enako. Prehod komercialnega oblaka ne obstaja v seji, usmerjeni v vladno ali kitajsko okolje, starejše različice modulov pa spregledajo oblike virov, ki jih API že vrača. Pripnite naročnino, uskladite okolje in nato odprite primer.

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

Preverite z obeh strani pred čiščenjem

Povezano je stanje, ne dokaz. Preverite stanje tunela za vsako povezavo, stanje partnerja BGP, če uporabljate dinamično usmerjanje, in dejanske poti v delovnem podomrežju. Nato spustite eno resnično zahtevo skozi aplikacijo, ki je odvisna od tunela. Povezava lahko poroča, da je povezana, medtem ko predpone, ki jo potrebujete, v tabeli poti ni.

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

Stari javni IP držite odklopljen, ne izbrisan, dokler se okno vrnitve ne zapre, in zapišite spremembe pri partnerju in požarnem zidu, da jih je mogoče razveljaviti po vrsti.

  • Kontekst pripet na naročnino, ki ima prehod
  • Stari javni IP ohranjen, njegove odvisnosti zapisane
  • Vsaka povezava zelena in ena resnična zahteva skoznjo
  • Uporabniki od točke do mesta prestavljeni na osvežen profil
  • Zapis DNS spremenjen, prejšnja vrednost zabeležena

Sorodni članki