Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
30 Eylül 2025'te Temel SKU genel IP'leri kullanımdan kaldırıldı. Daha fazla bilgi için resmi duyuruya bakın. Şu anda Temel SKU genel IP'lerini kullanıyorsanız, en kısa sürede Standart SKU genel IP'lerine yükseltmeyi unutmayın. Bu makale, yükseltme işleminde size yol gösterir.
Temel SKU Genel IP'lerinin kullanımdan kaldırılması ve Standart SKU Genel IP'lerinin avantajları hakkında daha fazla bilgi için buraya bakın
Yükseltme Genel Bakış
Bu betik, VM'ye eklenen tüm Genel IP Adreslerini Temel SKU'dan Standart SKU'ya yükselter. Yükseltmeyi gerçekleştirmek için Genel IP Adresi ayırma yöntemi VM ile ilişkilendirilmeden önce statik olarak ayarlanır. İlişkisi kaldırıldıktan sonra Genel IP SKU'su Standart'a yükseltilir, ardından IP VM ile yeniden ilişkilendirilir.
Vm'den ayrılmadan önce Genel IP ayırma Statik olarak ayarlandığından, betik başarısız olsa bile yükseltme işlemi sırasında IP adresi değişmez. Modül, Genel IP ayırma yöntemini VM'den ayırmadan önce Genel IP ayırma yönteminin Statik olup olmadığını iki kez denetler.
Modül, tüm yükseltme etkinliğini, modülün yürütüldüğü konumda (varsayılan olarak) oluşturulan adlı PublicIPUpgrade.logbir dosyaya günlüğe kaydeder.
Kısıtlamalar / Desteklenmeyen Senaryolar
Yük Dengeleyici ile ilişkilendirilmiş NIC'lere sahip VM'ler: Bir VM ile ilişkilendirilmiş Load Balancer ve Genel IP SKU'larının eşleşmesi gerektiğinden, VM'nin NIC'leri arka uç havuzu veya NAT Havuzu üyeliği aracılığıyla da bir Load Balancer ile ilişkilendirildiğinde vm ile ilişkili örnek düzeyi Genel IP adreslerini yükseltmek mümkün değildir. Hem Load Balancer'ı hem de Genel IP'leri aynı anda yükseltmek için Temel Yük Dengeleyiciyi Standart SKU'ya Yükselt betiklerini kullanın.
Ağ Güvenlik Grubu olmayan VM'ler: Yükseltilecek IP'leri olan VM'lerde, genel IP ile her IP yapılandırmasının alt ağıyla veya doğrudan NIC ile ilişkilendirilmiş bir Ağ Güvenlik Grubu (NSG) olmalıdır. Bunun nedeni, Standart SKU Genel IP'lerinin "varsayılan olarak güvenli" olmasıdır, yani Bir NSG'de sanal makineye ulaşmak için Genel IP'ye yönelik tüm trafiğe açıkça izin verilmelidir. Temel SKU Genel IP'leri varsayılan olarak tüm trafiğe izin verir. NSG olmadan Genel IP SKU'larının yükseltilmesi, geçiş sonrasında önceden Temel SKU ile izin verilen Genel IP'ye gelen internet trafiğinin engellenmesine neden olacaktır. Bkz. Genel IP SKU'ları
Genel IP yapılandırmalarına sahip Sanal Makine Ölçek Kümeleri: Örnek başına genel IP yapılandırmalarına sahip bir sanal makine ölçek kümeniz (tekdüzen model) varsa, bu yapılandırmaların Genel IP kaynakları olmadığını ve yükseltilemediğini unutmayın. Bunun yerine Temel IP yapılandırmasını kaldırabilir ve SKU özelliğini kullanarak burada gösterildiği gibi her sanal makine ölçek kümesi örneği için Standart IP yapılandırmalarının gerekli olduğunu belirtebilirsiniz.
Önkoşullar
- PowerShell'in en son sürümünü yükleme
- En son Az PowerShell modülünün yüklü olup olmadığından emin olun (ve yüklü değilse en son Az PowerShell modülünü yükleyin)
Betiği indir
Uyarı
Bu işlem bir PowerShell betiğinin indirilmesini ve yürütülmesini gerektirir. Bu görevi tamamlamak için ortamınızda uygun izinlere sahip olduğunuzdan emin olmanız gerekir. PowerShell modülleri yüklendiğinden, betiğin kullanımının güvenlik uygulamalarınızı ihlal ediyor olup olmadığını belirlemek için kuruluşunuzun güvenlik işlevine bakın. Kuruluşunuzda bu betiğin kullanımına izin verildiğinden emin olmanız sizin sorumluluğunuzdadır.
Geçiş betiğini PowerShell Galerisi'nden indirin.
PS C:\> Install-Module -Name AzureVMPublicIPUpgrade -Scope CurrentUser -Repository PSGallery -Force
Modülü kullanma
Connect-AzAccount'yi kullanarak gerekli Microsoft Entra kiracısına ve Azure aboneliğine bağlanın.PS C:\> Connect-AzAccount -Tenant <TenantId> -Subscription <SubscriptionId>Yükseltmek istediğiniz ekli Temel Genel IP'leri içeren VM'yi bulun. Adını ve kaynak grubu adını kaydedin.
Modül parametrelerini inceleyin:
- VMName [string] Gerekli - Bu parametre VM'nizin adıdır.
- ResourceGroupName [string] Gerekli - Bu parametre, yükseltmek istediğiniz Temel Genel IP'lerin eklendiği VM'nizin kaynak grubudur.
Yükselt komutunu çalıştırın.
Komut dosyasının örnek kullanımları
Tek bir VM'yi yükseltmek için VM adını ve kaynak grubu adını parametre olarak geçirin.
Start-VMPublicIPUpgrade -VMName 'myVM' -ResourceGroupName 'myRG'
Değişiklik yapmadan tek bir VM'yi yükseltmeyi değerlendirmek için -WhatIf parametresini ekleyin.
Start-VMPublicIPUpgrade -VMName 'myVM' -ResourceGroupName 'myRG' -WhatIf
Bir kaynak grubundaki tüm VM'leri yükseltmek için, Ağ Güvenlik Grupları olmayan VM'leri atlayın.
Get-AzVM -ResourceGroupName 'myRG' | Start-VMPublicIPUpgrade -skipVMMissingNSG
Başarısız bir geçişten kurtulma
Ağ kesintisi veya istemci sistemi sorunu gibi geçici bir sorun nedeniyle geçiş başarısız olursa, vm'yi ve Genel IP'leri hedef durumunda yapılandırmak için geçiş yeniden çalıştırılabilir. Yürütme sırasında betik, VM'nin düzgün bir şekilde yeniden yapılandırıldığından emin olmak için kullanılan bir kurtarma günlüğü dosyası oluşturur. Betiğin yürütüldüğü konumda oluşturulan günlük dosyasını PublicIPUpgrade.log gözden geçirin.
Başarısız bir yükseltmeden kurtulmak için, kurtarma günlük dosyası yolunu -recoverFromFile parametresiyle betiğe geçirin ve tanımlamak için -VMName ve -ResourceGroupName veya -VMResourceID parametresini kullanarak kurtarılması gereken VM'yi belirleyin, bu örnekte gösterildiği gibi.
Start-VMPublicIPUpgrade -RecoverFromFile ./PublicIPUpgrade_Recovery_2020-01-01-00-00.csv -VMName 'myVM' -ResourceGroupName 'rgName'
Sık sorulan sorular
Geçiş ne kadar sürer ve sanal makineme Genel IP'sinde ne kadar süreyle erişilemez olacak?
Vm'nin Genel IP'lerini yükseltmek için gereken süre, VM ile ilişkilendirilmiş Genel IP'lerin ve Ağ Arabirimlerinin sayısına bağlıdır. Testte, tek bir NIC ve Genel IP'ye sahip bir VM'nin yükselt gelmesi 1 ila 2 dakika arasında sürer. Sanal makinedeki her NIC yaklaşık bir dakika ekler ve her Genel IP adresi birkaç saniye ekler.
Temel SKU Genel IP'sine geri dönebilir miyim?
Genel IP adresini Standart'tan Temel'e düşürmek mümkün değildir.
Yürütmeden önce geçişi test edebilir miyim?
Eylemi tamamlamadan Genel IP'yi yükseltmeyi değerlendirmenin hiçbir yolu yoktur. Ancak bu betik, VM'nizin yükseltmeyi destekleyip desteklemediğini denetleyen ve işlem yapmadan adım adım ilerleyen bir -whatif parametre içerir.
Betik, Bölgesel Temel SKU Genel IP adreslerini destekliyor mu?
Evet, Bölgesel Temel SKU Genel IP'sini Bölgesel Standart SKU Genel IP'ye yükseltme işlemi aynıdır ve betikte çalışır.
Application Gateway arka uç havuzunda geçiş için hedeflenen genel IP ile ilişkilendirilmiş bir NIC belirtirsem, bu betik bunu havuzdan kaldırır mı?
Evet, kaldırıldı. Betiği çalıştırdıktan sonra NIC'yi Application Gateway arka uç havuzuna el ile yeniden atamanız gerekir. Alternatif olarak, geçişten önce arka uç havuzu yapılandırmasında özel IP adresini açıkça belirterek bu sorundan kaçınabilirsiniz.
Yükseltme gerektiren Genel IP'lere sahip VM'leri listelemek için Kaynak Grafı kullanma
Temel SKU genel IP adreslerine sahip sanal makineleri listeleyen sorgu
Bu sorgu, Temel SKU genel IP adreslerinin eklendiği sanal makine kimliklerinin listesini döndürür.
Resources
| where type =~ 'microsoft.compute/virtualmachines'
| project vmId = tolower(id), vmNics = properties.networkProfile.networkInterfaces
| join (
Resources |
where type =~ 'microsoft.network/networkinterfaces' |
project nicVMId = tolower(tostring(properties.virtualMachine.id)), allVMNicID = tolower(id), nicIPConfigs = properties.ipConfigurations)
on $left.vmId == $right.nicVMId
| join (
Resources
| where type =~ 'microsoft.network/publicipaddresses' and isnotnull(properties.ipConfiguration.id)
| where sku.name == 'Basic' // exclude to find all VMs with Public IPs
| project pipId = id, pipSku = sku.name, pipAssociatedNicId = tolower(tostring(split(properties.ipConfiguration.id, '/ipConfigurations/')[0])))
on $left.allVMNicID == $right.pipAssociatedNicId
| project vmId, pipId, pipSku
az graph query -q "Resources | where type =~ 'microsoft.compute/virtualmachines' | project vmId = tolower(id), vmNics = properties.networkProfile.networkInterfaces | join (Resources | where type =~ 'microsoft.network/networkinterfaces' | project nicVMId = tolower(tostring(properties.virtualMachine.id)), allVMNicID = tolower(id), nicIPConfigs = properties.ipConfigurations) on \$left.vmId == \$right.nicVMId | join ( Resources | where type =~ 'microsoft.network/publicipaddresses' and isnotnull(properties.ipConfiguration.id) | where sku.name == 'Basic' | project pipId = id, pipSku = sku.name, pipAssociatedNicId = tolower(tostring(split(properties.ipConfiguration.id, '/ipConfigurations/')[0]))) on \$left.allVMNicID == \$right.pipAssociatedNicId | project vmId, pipId, pipSku"