Azure VPN ağ geçidinin genel IP'sini değiştirme ve aboneliği taşıma
VPN ağ geçidinin genel IP'sini değiştirmek ve abonelikler arasında taşımak için tünelleri ayakta tutan envanter, geri alma ve bağlam denetimleriyle birlikte kılavuz.
Azure'da üç farklı nesne ağ geçidi adresi olarak anılır. Özel adres GatewaySubnet'ten atanır. Genel adres, ağ geçidinin IP yapılandırmasının işaret ettiği ayrı bir genel IP kaynağıdır. Abonelik ve bulut ortamı, kabuğunuzun ikisinden birini bulmak için kullandığı bağlamdır. Birini değiştirin, diğer ikisi yerinde kalır; adres çalışmalarının bu kadar sık yarıda kalmasının nedeni budur.
Bu değişiklikleri dört aşamada yapıyorum: nesneleri envantere almak, genel IP'nin mevcut ağ geçidinde mi taşınacağına yoksa ağ geçidinin yeniden mi kurulacağına karar vermek, eski adres hâlâ eldeyken değişikliği uygulamak ve ardından her tüneli iki uçtan doğrulamak. İnsanların atladığı aşama envanterdir.
Üç nesneden hangisini gerçekten değiştiriyorsunuz
Portalı açmadan önce nesneyi adlandırın. VPN ağ geçidi özel adresini tam olarak GatewaySubnet adını taşıması gereken bir alt ağdan alır ve Azure bunu o önekten atar; sabitlemek için genel bir alan yoktur. Adres yalnızca alt ağ kararlı olduğu için kararlı görünür. Alt ağı yeniden adresleyin veya ağ geçidini yeniden kurun; adres onlarla birlikte taşınır.
Genel adres düzenlenebilir, ancak düzenlemenin geçerli olup olmadığına SKU kuralları karar verir. Basic ağ geçidi Basic dinamik genel IP ile eşleşir, VpnGw SKU'ları Standard statik gerektirir ve bölge yedekli ağ geçidi aynı bölgeleri taşıyan Standard genel IP gerektirir. Yanlış SKU bir tünel düşmeden reddedilir.
| 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 |
Herhangi bir şey hareket etmeden önce envanter
Önce aboneliği kanıtlayın, çünkü o olmadan envanterin geri kalanı değersizdir. Ağ geçidini, IP yapılandırmalarını ve üzerinde biten her bağlantıyı kaydedin ve çıktıyı değişiklik kaydının yanında tutun.
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
Kaynak kimlikleri adlardan daha önemlidir. Bir bağlantı, ağ geçidine ve yerel ağ geçidine referanslar tutar ve bu kimlikler kimsenin hatırlamadığı betiklerde, uyarılarda ve ilke atamalarında görünür. Azure dışındakileri de listeleyin: adrese çözülen DNS adı, iş ortağının izin listesi, eski IP'yi sabitleyen şube güvenlik duvarı.
Çalışan ağ geçidinde genel IP'yi değiştirme
Önce yedek adresi aynı bölgede ve ağ geçidine uyan bölge kümesiyle oluşturun, eski kaynağı yerinde bırakın. Ardından IP yapılandırmasını yeniden oluşturun ve güncellemeyi tek çağrıda gönderin. Bu çağrı tüm yapılandırma koleksiyonunu değiştirir, bu nedenle etkin-etkin bir ağ geçidi ikisini de gerektirir; yoksa bir tünel kalır, diğerini kaybedersiniz.
$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
Ağ geçidi yeniden hazırlanırken tüneller düşer. Karşı tarafın plana ihtiyacı vardır: iş ortağı güvenlik duvarı biri düzenleyene kadar eski adresi sunmaya devam eder ve uzak ucu önceki IP'yi bekleyen bağlantı, Azure ne kadar sağlıklı görünse de kapalı kalır. Pencereden önce DNS TTL'sini düşürün.
Noktadan siteye istemciler yeni bir profil gerektirir, çünkü indirilen paket uç noktayı taşır. Ağ geçidinin önünde özel bir DNS adı yeniden dağıtımdan kurtarır: adı koruyun, kaydı değiştirin.
Ağ geçidini başka bir aboneliğe taşıma
Kaynak taşıma bir kümeyi taşır ve ağ geçidi tek başına onun en az kullanışlı üyesidir. Sanal ağ, genel IP kaynakları, yerel ağ geçitleri ve bağlantılar birlikte seyahat eder çünkü her biri diğerine referans tutar. Hedef abonelik aynı kiracıda olmalı, Microsoft.Network orada kayıtlı olmalı ve iki tarafta da yazma erişiminiz olmalı.
Doğrulama herhangi bir değişiklikten önce çalışır, bu yüzden reddedilen taşıma kaynakları yerinde bırakır. Bu nedenle taşıma, yeniden kurmadan önce bir denemeyi hak eder: başarılı taşıma genel IP'yi yanında götürür, böylece eşler ve izin listeleri çalışmaya devam eder; yeniden kurulan ağ geçidi ise aynı adresi nadiren geri verir.
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
Doğrulama hatasını yinelemek yerine okuyun. Olağan nedenler geride bırakılmış bir bağımlılık, taşınamayan bir kaynak türü veya kaynak gruplarından birindeki kilittir. Taşıma imkânsızsa hedefte yeniden kurun ve geçin: test alt ağından yönlendirmeyi ve kimlik doğrulamayı onaylayın, eski bağlantıları silmek yerine durdurun, ardından eski yolu sonraki pencerede kaldırın.
Ağ geçidi eksik göründüğünde bağlamı denetleyin
Bulunamadı hatası genellikle bir kapsam hatasıdır. Birden çok aboneliği olan bir hesap cmdlet'i yanlış olana yönlendirir ve ileti kaynağı suçlar. Nesneyi tam kaynak kimliğiyle arayın: kimlik kendi aboneliğini taşır, bu nedenle çözülürse hiçbir şey eksik değildir ve varsayılan bağlamınız yanlıştır.
İki uyumsuzluk daha aynı şekilde okunur. Ticari bulut ağ geçidi, hükümet veya Çin ortamına yönelik bir oturumda var olmaz ve eski modül sürümleri API'nin zaten döndürdüğü kaynak biçimlerini kaçırır. Aboneliği sabitleyin, ortamı eşleştirin ve sonra bir destek kaydı açın.
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
Temizlemeden önce iki uçtan doğrulayın
Bağlı bir durumdur, kanıt değildir. Bağlantı başına tünel durumunu, dinamik yönlendirme kullanıyorsanız BGP eş durumunu ve iş yükü alt ağındaki geçerli yolları denetleyin. Ardından tünele bağlı bir uygulamadan gerçek bir istek geçirin. Gerekli önek yol tablosunda yokken bir bağlantı kendini bağlı bildirebilir.
Get-AzVirtualNetworkGatewayBGPPeerStatus -VirtualNetworkGatewayName gw-hub -ResourceGroupName rg-hub
Get-AzEffectiveRouteTable -NetworkInterfaceName nic-app -ResourceGroupName rg-app
Eski genel IP'yi silmek yerine geri dönüş penceresi kapanana kadar bağlantısız tutun ve eş ile güvenlik duvarı düzenlemelerini sırayla geri alınabilecek şekilde yazın.
- Bağlam ağ geçidinin sahibi olan aboneliğe sabitlendi
- Eski genel IP korundu, bağımlılıkları yazıldı
- Her bağlantı yeşil ve içinden bir gerçek istek geçti
- Noktadan siteye kullanıcılar yenilenmiş profile taşındı
- DNS kaydı değiştirildi ve önceki değeri kaydedildi