V Azure odpovídají na název adresa brány tři různé objekty. Privátní adresa se přiděluje z GatewaySubnet. Veřejná adresa je samostatný prostředek veřejné IP, na který ukazuje IP konfigurace brány. Předplatné a cloudové prostředí jsou kontext, kterým vaše konzole nachází jedno i druhé. Změňte jedno a zbylá dvě zůstanou na místě, proto práce s adresami tak často skončí v polovině.

Tyto změny dělám ve čtyřech fázích: inventura objektů, rozhodnutí, zda se veřejná IP přesune na stávající bránu, nebo se brána přestaví, provedení změny, dokud je stará adresa ještě k dispozici, a pak ověření každého tunelu z obou stran před smazáním. Fáze, kterou lidé přeskakují, je inventura.

Který ze tří objektů vlastně měníte

Pojmenujte objekt dřív, než otevřete portál. Brána VPN bere privátní adresu z podsítě, která se musí jmenovat přesně GatewaySubnet, a Azure ji přiděluje z tohoto prefixu; obecné pole pro její připnutí neexistuje. Adresa vypadá stabilně jen proto, že podsíť je stabilní. Přečíslujte podsíť nebo přestavte bránu a adresa se s nimi posune.

Veřejná adresa je upravitelná, ale pravidla SKU rozhodují, zda je úprava přípustná. Brána Basic se páruje s dynamickou veřejnou IP Basic, SKU VpnGw potřebují statickou Standard a zónově redundantní brána potřebuje veřejnou IP Standard se stejnými zónami. Špatné SKU se odmítne dřív, než tunel spadne.

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

Inventura, než se něco pohne

Nejprve prokažte předplatné, protože bez něj je zbytek inventury bezcenný. Zaznamenejte bránu, její IP konfigurace a každé připojení, které na ní končí, a výstup uložte vedle záznamu o změně.

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 prostředků jsou důležitější než názvy. Připojení drží odkazy na bránu a na místní síťovou bránu a tato ID se objevují ve skriptech, upozorněních a přiřazeních zásad, která si nikdo nepamatuje. Vypište i to, co je mimo Azure: jméno DNS, které se překládá na adresu, seznam povolení partnera, pobočkový firewall, který drží starou IP.

Výměna veřejné IP na běžící bráně

Nejprve vytvořte náhradní adresu, ve stejné oblasti a se sadou zón odpovídající bráně, a starý prostředek nechte na místě. Pak přestavte IP konfiguraci a odešlete aktualizaci jedním voláním. To nahrazuje celou kolekci konfigurací, takže aktivně-aktivní brána potřebuje obě, jinak si ponecháte jeden tunel a o druhý přijdete.

$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

Tunely padnou, zatímco se brána znovu zprovozňuje. Vzdálená strana potřebuje plán: partnerský firewall nabízí starou adresu, dokud ji někdo neupraví, a připojení, jehož vzdálený konec očekává předchozí IP, zůstane dole, ať Azure vypadá jakkoli zdravě. Před oknem snižte TTL DNS.

Klienti point-to-site potřebují nový profil, protože stažený balíček nese koncový bod. Vlastní jméno DNS před bránou vás ušetří redistribuce: ponechte jméno, změňte záznam.

Přesun brány do jiného předplatného

Přesun prostředků stěhuje sadu a samotná brána je její nejméně užitečný člen. Virtuální síť, prostředky veřejných IP, místní síťové brány a připojení cestují spolu, protože každý drží odkaz na jiný. Cílové předplatné musí být ve stejném tenantovi, Microsoft.Network v něm musí být zaregistrován a na obou stranách potřebujete právo zápisu.

Validace běží před jakoukoli změnou, takže odmítnutý přesun nechá prostředky na místě. Proto si přesun zaslouží pokus před přestavbou: úspěšný přesun nese veřejnou IP s sebou, takže partneři a seznamy povolení fungují dál, zatímco přestavěná brána málokdy vrátí stejnou adresu.

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

Čtěte selhání validace, místo abyste ho opakovali. Obvyklé příčiny jsou ponechaná závislost, typ prostředku, který nelze přesunout, nebo zámek na některé ze skupin prostředků. Pokud je přesun nemožný, přestavte v cíli a přepněte: potvrďte směrování a ověřování z testovací podsítě, stará připojení zastavte, místo abyste je mazali, a starou cestu odstraňte v pozdějším okně.

Když brána vypadá jako chybějící, zkontrolujte kontext

Chyba nenalezeno je obvykle chyba rozsahu. Účet s několika předplatnými namíří cmdlet na špatné a zpráva obviní prostředek. Hledejte objekt podle plného ID prostředku: ID nese vlastní předplatné, takže pokud se vyřeší, nic nechybí a váš výchozí kontext je špatný.

Dvě další neshody se čtou stejně. Brána komerčního cloudu neexistuje v relaci zaměřené na vládní nebo čínské prostředí a starší verze modulů přehlížejí tvary prostředků, které API už vrací. Připněte předplatné, srovnejte prostředí a pak otevřete případ.

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

Ověřte z obou stran před úklidem

Připojeno je stav, ne důkaz. Zkontrolujte stav tunelu po připojení, stav BGP peeru, pokud používáte dynamické směrování, a efektivní trasy v pracovní podsíti. Pak protlačte jeden skutečný požadavek aplikací, která na tunelu závisí. Připojení se může hlásit jako připojené, zatímco potřebný prefix v tabulce tras chybí.

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

Držte starou veřejnou IP odpojenou, ne smazanou, dokud se neuzavře okno návratu, a zapište úpravy partnera a firewallu, aby je šlo vrátit v pořadí.

  • Kontext připnutý k předplatnému, které bránu vlastní
  • Stará veřejná IP zachována, její závislosti zapsány
  • Každé připojení zelené a jeden skutečný požadavek skrz
  • Uživatelé point-to-site přesunuti na obnovený profil
  • Záznam DNS změněn a jeho předchozí hodnota zaznamenána

Související články