Share via


VM'ye eklenmiş genel IP adreslerini Temel'den Standart'a yükseltme

Önemli

30 Eylül 2025'te Temel SKU genel IP'leri kullanımdan kaldırılacaktır. Daha fazla bilgi için resmi duyuruya bakın. Şu anda Temel SKU genel IP'lerini kullanıyorsanız, kullanımdan kaldırma tarihinden önce 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ükseltmeye 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, bir betik hatası durumunda 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. Bu, Genel IP'ye yönelik trafiğin VM'ye ulaşması için bir NSG'de 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 Temel SKU'nun engellenmesiyle önceden izin verilen Genel IP'ye gelen İnternet trafiğine neden olur. Bkz. Genel IP SKU'ları

  • Genel IP yapılandırmalarıyla 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ükseltilemeyeceğ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.

Ön koşullar

Betiği indirme

geçiş betiğini PowerShell Galerisi indirin.

PS C:\> Install-Module -Name AzureVMPublicIPUpgrade -Scope CurrentUser -Repository PSGallery -Force

Modülü kullanma

  1. Gerekli Microsoft Entra kiracısına ve Azure aboneliğine bağlanmak için kullanın Connect-AzAccount

    PS C:\> Connect-AzAccount -Tenant <TenantId> -Subscription <SubscriptionId>
    
  2. Yükseltmek istediğiniz ekli Temel Genel IP'leri içeren VM'yi bulun. Adını ve kaynak grubu adını kaydedin.

  3. 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.
  4. Yükselt komutunu çalıştırın.

Betiğin ö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'

Herhangi bir 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 kurtarma

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 kurtarmak için, kurtarma günlüğü dosya yolunu parametresiyle -recoverFromFile betike geçirin ve bu örnekte gösterildiği gibi ve -VMResourceGroup veya -VMResourceID parametreleriyle -VMName kurtarılması gereken VM'yi belirleyin.

    Start-VMPublicIPUpgrade -RecoverFromFile ./PublicIPUpgrade_Recovery_2020-01-01-00-00.csv -VMName myVM -VMResourceGroup -rg-myrg

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 daha ekler ve her Genel IP'nin her biri 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 ilerleten bir -whatif parametre içerir.

Betik, Bölgesel Temel SKU Genel IP'lerini 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.

Yükseltme gerektiren Genel IP'lere sahip VM'leri listelemek için Kaynak Grafı kullanın

Temel SKU genel IP adresleriyle sanal makineleri listelemek için sorgulama

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"

Sonraki adımlar