V1'den V2'ye Azure Application Gateway ve Web Uygulaması Güvenlik Duvarı geçirme

Microsoft, 28 Nisan 2023'te Application Gateway V1'in (Standart ve Web Uygulaması Güvenlik Duvarı) kullanımdan kaldırılıp kaldırılağını duyurdu. Application Gateway V1, 28 Nisan 2026'da kullanımdan kaldırıldı.

Bu makalede, Azure PowerShell betiklerini kullanarak Azure Application Gateway ve Azure Web Uygulaması Güvenlik Duvarı'nı V1'den V2'ye geçirmeyi öğreneceksiniz. Geçişin iki aşaması vardır: yapılandırma geçişi ve trafik geçişi. V1 ağ geçidi yapılandırmanızı yeni bir V2 ağ geçidine kopyalamak ve ardından istemci trafiğini en düşük kapalı kalma süresiyle yeniden yönlendirmek için gelişmiş kopyalama betiğini (önerilir) veya eski kopyalama betiğini kullanabilirsiniz.

Application Gateway V1'in kullanımdan kaldırılması hakkında daha fazla bilgi için bkz. 28 Nisan 2026'ya kadar Application Gateway V1'den V2'ye geçiş.

Neden V2'ye geçiş?

Application Gateway V2 ve Web Uygulaması Güvenlik Duvarı V2 , V1'e göre aşağıdaki avantajları sunar:

  • Dayanıklılık. Kullanılabilirlik alanı yedekliliği ve otomatik ölçeklendirme.
  • Security. Azure Key Vault tümleştirmesi, geliştirilmiş Web Uygulaması Güvenlik Duvarı özellikleri ve bot koruması.
  • İzleme. CPU, bellek ve disk kullanımı için kapsamlı izleme. (V1 yalnızca CPU'ları destekler.)
  • Algılama ve azaltma. Sorunları el ile müdahale olmadan tanımlayan ve çözen gelişmiş algılama ve otomatik azaltma.
  • Yeni özellikler. Yalnızca V2 için yeni özelliklerin yayımlanması.

V1 ağ geçitleri otomatik olarak V2'ye yükseltilmez. Geçişinizi planlamak ve gerçekleştirmek için bu kılavuzu kullanın.

Bu makale, geçişin yapılandırma aşamasına odaklanır. İstemci trafiğinin geçişi ortama göre değişir. Bu makalede yalnızca trafik geçişi için genel öneriler sağlanmaktadır.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabına ihtiyacınız vardır. Ücretsiz bir hesap oluşturun.

  • Mevcut bir Application Gateway V1 Standart dağıtımına ihtiyacınız vardır.

  • En son PowerShell modüllerini veya Azure portalda Azure Cloud Shell'i kullanabilirsiniz.

  • PowerShell'i yerel olarak çalıştırıyorsanız, Azure ile bağlantı oluşturmak için Connect-AzAccount çalıştırın.

  • V1 aboneliğinde sağlanan AppGWV2Name ve AppGWResourceGroupName parametreleriyle mevcut bir ağ geçidine sahip olamazsınız. Bu koşul, mevcut kaynakların yeniden yazılmasını engeller.

  • Geçiş sırasında V1 ağ geçidinde veya ilişkili kaynaklarda başka bir planlı işlem yapamazsınız.

  • Bir genel IP adresi sağlarsanız, adresin başarılı durumda olduğundan emin olun. Eğer genel bir IP adresi sağlamaz fakat AppGWResourceGroupName sağlarsanız, AppGWV2Name-IP adlı bir kaynak grubunda AppGWResourceGroupName adıyla genel bir IP kaynağının V1 aboneliğinde mevcut olmadığına emin olun.

  • V1 için, arka uç sunucularıyla TLS bağlantılarını ayarlamak için kimlik doğrulama sertifikaları gerekir. V2, güvenilen kök sertifikaların aynı amaçla karşıya yüklenmesini gerektirir. V1, kimlik doğrulama sertifikaları olarak otomatik olarak imzalanan sertifikaların kullanılmasına izin verirken, V2 arka uçta otomatik olarak imzalanan sertifikalar kullanılıyorsa otomatik olarak imzalanan bir kök sertifika oluşturulmasını ve karşıya yüklenmesini zorunlu kılar.

  • Abonelikte ağ yalıtımını etkinleştirirseniz, tüm Application Gateway V2 yalnızca genel veya özel dağıtımlar için Microsoft.Network/applicationGatewaystemsilci olarak atanan bir alt ağda olmalıdır. Alt ağ temsilcisini ayarlamak için adımları kullanın.

Uyarı

Application Gateway V2, geçiş sırasında arka uç sertifika doğrulamasını kolaylaştıran müşteri tarafından denetlenen arka uç TLS gevşetme özelliğini içerir. Sertifika zincirini atlayarak, süre sonu doğrulamasını atlayarak veya Sunucu Adı Göstergesi (SNI) doğrulamasını geçersiz kılarak TLS denetimlerini geçici olarak gevşetmek için bu özelliği kullanabilirsiniz. Bu eylem, davranışı V1'de zaten izin verilenlerle hizalar.

Gelişmiş geçiş betiği çalıştırıldığında, V2'de daha katı sertifika zorlamasının neden olduğu kesintileri önlemek amacıyla HTTPS arka uçları için bu rahatlama ayarlarını varsayılan olarak etkinleştirir. Geçişi tamamladıktan sonra, uygun güvenilir kök sertifikalarını yükleyebilir ve V2 için önerilen güvenlik duruşuna uyum sağlamak üzere arka uç TLS gevşetmeyi devre dışı bırakabilirsiniz.

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell barındırıyor. Azure hizmetleriyle çalışmak için Bash veya PowerShell'i Cloud Shell kullanabilirsiniz. Kodu yerel ortamınıza yüklemek zorunda kalmadan bu makalede çalıştırmak için önceden yüklenmiş Cloud Shell komutlarını kullanabilirsiniz.

Azure Cloud Shell başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Try It seçildiğinde kod veya komut otomatik olarak Cloud Shell kopyalanmaz. Azure Cloud Shell için Deneyin bölümüne ait ekran görüntüsü örneğini gösteriyor.
https://shell.azure.com gidin veya tarayıcınızda Cloud Shell açmak için Launch Cloud Shell düğmesini seçin. Azure Cloud Shell'i başlatmak için düğme.
Azure portal sağ üstteki menü çubuğundaki Cloud Shell düğmesini seçin. Azure portalında Cloud Shell düğmesini gösteren Screenshot

Azure Cloud Shell kullanmak için:

  1. Cloud Shell'ı başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux üzerinde Ctrl+Shift+V seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın, veya macOS üzerinde Cmd+Shift+V'ı seçin.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

Uyarı

Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell yükleme. Az PowerShell modülüne nasıl geçiş yapılacağını öğrenmek için bkz. AzureRM'den Az Azure PowerShell dağıtma.

Yapılandırma geçişi

Bir geçiş betiği seçin

Yapılandırma geçişi, mevcut V1 ortamınızdaki ayarlarla yeni V2 ağ geçidini ayarlamaya odaklanır. İki Azure PowerShell betikleri, yapılandırmaların (Standart veya Web Uygulaması Güvenlik Duvarı) V1'den V2 ağ geçitlerine geçişini kolaylaştırır. Bu betikler, anahtar dağıtım ve yapılandırma görevlerini otomatikleştirerek geçiş sürecini kolaylaştırmaya yardımcı olur.

Uyarı

Mevcut Application Gateway V1 dağıtımı yalnızca özel bir ön uçla yapılandırılmışsa, özellik GA'da olsa bile geçiş betiğini çalıştırmadan önce özelliği özel dağıtım için aboneliğe kaydetmeniz EnableApplicationGatewayNetworkIsolation gerekir. Dağıtım hatalarından kaçınmak için bu adım gereklidir.

Özel Application Gateway dağıtımlarında alt ağ temsilcisi olarak Microsoft.Network/applicationGatewaysyapılandırılmış olmalıdır. Alt ağ temsilcisini ayarlamak için adımları kullanın.

Önerilen seçenek, gelişmiş kopyalama betiğidir. Aşağıdakiler sayesinde gelişmiş bir geçiş deneyimi sunar:

  • Ön uç SSL sertifikalarının ve arka uç güvenilen kök sertifikalarının el ile giriş ihtiyacını ortadan kaldırma.
  • Yalnızca özel V2 ağ geçitlerinin dağıtımını destekleme.

Gelişmiş kopyalama betiğini PowerShell Galerisi'nden indirebilirsiniz.

Değerlendirmeler

Mevcut Application Gateway V1 dağıtımı yalnızca özel bir ön uçla yapılandırılmışsa, geçiş betiğini çalıştırmadan önce özelliği özel dağıtım için aboneliğe kaydetmeniz EnableApplicationGatewayNetworkIsolation gerekir. Dağıtım hatalarından kaçınmak için bu adım gereklidir.

Özel Application Gateway dağıtımlarında alt ağ temsilcisi olarak Microsoft.Network/applicationGatewaysyapılandırılmış olmalıdır. Alt ağ temsilcisini ayarlamak için adımları kullanın.

Betik için parametreler

  • AppGw V1 ResourceId -Required. Mevcut Standart V1 veya Web Uygulaması Güvenlik Duvarı V1 ağ geçidinizin Azure kaynak kimliği. Bu dize değerini bulmak için Azure portalına gidin, Application Gateway veya Web Uygulaması Güvenlik Duvarı kaynağınızı seçin ve ardından ağ geçidinin Özellikler bağlantısını seçin. Kaynak kimlik numarası o bölmededir.

    Kaynak kimliğini almak için aşağıdaki Azure PowerShell komutlarını da çalıştırabilirsiniz:

    $appgw = Get-AzApplicationGateway -Name <V1 gateway name> -ResourceGroupName <resource group Name>
    $appgw.Id
    
  • SubnetAddressRange -Required. CIDR gösteriminde Application Gateway V2'nin dağıtılacağı alt ağ adresi.

  • AppGwName -Optional. V2 uygulama ağ geçidinin adı. Varsayılan değer {AppGwV1 Name}_migrated değeridir.

  • AppGwResourceGroupName -Optional. V2 uygulama ağ geçidinin oluşturulacağı kaynak grubunun adı. Eğer bunu sağlamazsanız, Application Gateway V1 adlı kaynak grubu kullanılır.

  • PrivateIPAddress -Optional. Application Gateway V2'ye atanacak özel IP adresi. Sağlamazsanız rastgele bir özel IP atanır.

  • ValidateBackendHealth -Optional. Geçiş sonrası doğrulama için ApplicationGatewayBackendHealth yanıtlarını karşılaştırma. Ayarlamazsanız, bu doğrulama atlanır.

  • PublicIpResourceId -Optional. Uygulama ağ geçidine eklenecek genel IP adresinin (zaten varsa) kaynak kimliği. Eğer sağlamazsanız, genel IP adı {AppGwName}-IP olarak belirlenir.

  • DisableAutoscale -Optional. Application Gateway V2 örnekleri için otomatik ölçeklendirme yapılandırmasını devre dışı bırakma seçeneği. Varsayılan olarak budur false .

  • WafPolicyName -Optional. Web Uygulaması Güvenlik Duvarı V1 yapılandırmasından oluşturulacak ve Web Uygulaması Güvenlik Duvarı V2 ağ geçidine eklenecek Web Uygulaması Güvenlik Duvarı ilkesinin adı.

Betiği çalıştırma adımları

  1. Azure bağlanmak için Connect-AzAccount kullanın.

  2. Az modüllerini içeri aktarmak için Import-Module Az kullanın.

  3. Azure bağlamını etkin olarak doğru aboneliğe ayarlamak için Set-AzContext cmdlet'ini çalıştırın. Bu adım önemlidir çünkü grup geçerli abonelik bağlamında mevcut değilse geçiş betiği mevcut kaynak grubunu temizleyebilecektir.

    Set-AzContext -Subscription '<V1 application gateway SubscriptionId>'
    
  4. Betiği Yükleme başlığındaki adımları izleyerek bu makalenin devamında betiği kurun.

  5. Uygun parametreleri kullanarak betiği çalıştırın. Betiğin tamamlanması beş ila yedi dakika sürebilir.

    ./AzureAppGWClone.ps1
    -resourceId <V1 application gateway resource ID>
    -subnetAddressRange <subnet space you want to use>
    -appgwName <string to use to append>
    -AppGWResourceGroupName <resource group name you want to use>
    -privateIpAddress <private IP string>
    -publicIpResourceId <public IP name string>
    - disableAutoscale
    -wafpolicyname <wafpolicyname>
    

    Bir örnek aşağıda verilmiştir:

    ./AzureAppGWClone.ps1 `
    -resourceId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyResourceGroup/providers/Microsoft.Network/applicationGateways/myv1appgateway `
    -subnetAddressRange 10.0.0.0/24 `
    -appgwname "MynewV2gw" `
    -AppGWResourceGroupName "MyResourceGroup" `
    -privateIpAddress "10.0.0.1" `
    -publicIpResourceId "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyResourceGroup/providers/Microsoft.Network/publicIPAddresses/MyPublicIP" `
    

Recommendations

  • Betik tamamlandıktan sonra Azure portalında V2 ağ geçidi yapılandırmasını gözden geçirin ve trafiği doğrudan V2 ağ geçidinin IP'sine göndererek bağlantıyı test edin.

  • Betik, klonlama süreçinde varsayılan olarak arka plan TLS doğrulamasını (sertifika zinciri, süre sonu veya SNI doğrulaması olmadan) gevşetir. Daha katı TLS doğrulama veya kimlik doğrulama sertifikalarına ihtiyacınız varsa, oluşturma işleminden sonra Application Gateway V2 dağıtımınızı güncelleştirerek güvenilen kök sertifikalar ekleyebilir ve bu özelliği etkinleştirebilirsiniz.

  • NTLM ve Kerberos geçişi için, kopyalamadan sonra HTTP ayarlarında ayrılmış arka uç bağlantısını true olarak ayarlayın.

Uyarılar

  • Sanal ağda V1 ağ geçidinizi içeren başka bir alt ağ için bir IP adresi alanı sağlamanız gerekir. Betik, V1 ağ geçidine sahip bir alt ağda V2 ağ geçidi oluşturamaz. Alt ağda zaten bir V2 ağ geçidi varsa, yeterli IP adresi alanı varsa betik çalışmaya devam edebilir.

  • V2 ağ geçidi alt ağıyla ilişkilendirilmiş bir ağ güvenlik grubunuz (NSG) veya kullanıcı tanımlı yollarınız (UDR) varsa, başarılı bir geçiş için NSG gereksinimlerine ve UDR gereksinimlerine uyduklarından emin olun.

  • Sanal ağ servisi uç nokta politikaları şu anda bir Uygulama Geçidi alt ağında desteklenmemektedir.

  • V1 ağ geçidiniz için FIPS modunu etkinleştirdiyseniz, bu mod yeni V2 ağ geçidinize geçirilmez.

  • Web Uygulaması Güvenlik Duvarı V2, varsayılan olarak Çekirdek Kural Kümesi (CRS) 3.0'ı kullanacak şekilde yapılandırılır. CRS 3.0 kullanımdan kaldırılma yolunda olduğundan, geçiş sonrasında en son kural kümesine yükseltin: Varsayılan Kural Kümesi (DRS) 2.2. Daha fazla bilgi için bkz . Web Uygulaması Güvenlik Duvarı DRS ve CRS kural grupları ve kuralları.

Uyarı

Geçiş sırasında V1 ağ geçidinde veya ilişkili kaynaklarda başka bir işlem denemeyin.

Eski klonlama skripti

Eski kopyalama betiği, geçişi şu şekilde kolaylaştırır:

  • Kullanıcı tarafından belirtilen sanal ağ alt ağında yeni bir Standart V2 veya Web Uygulaması Güvenlik Duvarı V2 uygulama ağ geçidi oluşturma.
  • Yapılandırmayı mevcut bir Standart veya Web Uygulaması Güvenlik Duvarı V1 ağ geçidinden yeni oluşturulan V2 ağ geçidine otomatik olarak kopyalama.
  • Giriş olarak TLS/SSL ve kimlik doğrulama sertifikaları sağlamanız gerekir. Bu betik yalnızca özel V2 ağ geçitlerini desteklemez. Bu kopyalama betiğini PowerShell Galerisi'nden indirebilirsiniz.

Betik için parametreler

Geçmişte kalan komut dosyası aşağıdaki parametreleri alır:

  • resourceId. Bu gerekli parametre, mevcut Standart V1 veya Web Uygulaması Güvenlik Duvarı V1 ağ geçidinizin Azure kaynak kimliğidir. Bu dize değerini bulmak için Azure portalına gidin, Application Gateway veya Web Uygulaması Güvenlik Duvarı kaynağınızı seçin ve ağ geçidinin Özellikler bağlantısını seçin. Kaynak kimlik numarası o bölmededir.

    Kaynak kimliğini almak için aşağıdaki Azure PowerShell komutlarını da çalıştırabilirsiniz:

    $appgw = Get-AzApplicationGateway -Name <V1 gateway name> -ResourceGroupName <resource group Name>
    $appgw.Id
    
  • subnetAddressRange. Bu gerekli dize parametresi, yeni V2 ağ geçidinizi içeren yeni bir alt ağ için ayırdığınız (veya ayırmak istediğiniz) IP adresi alanıdır. Adres alanı CIDR gösteriminde belirtilmelidir. 10.0.0.0/24 bunun bir örneğidir.

    Bu alt ağı önceden oluşturmanız gerekmez, ancak CIDR'nin sanal ağın adres alanının bir parçası olması gerekir. Betik, mevcut değilse onu sizin için oluşturur. Mevcutsa, betik var olanı kullanır. Alt ağın boş olduğundan veya yalnızca V2 ağ geçidini içerdiğinden ve yeterli kullanılabilir IP'ye sahip olduğundan emin olun.

  • appgwName. Bu isteğe bağlı dizeyi yeni Standart V2 veya Web Uygulaması Güvenlik Duvarı V2 ağ geçidinin adı olarak belirtirsiniz. Bu parametreyi sağlamazsanız, mevcut V1 ağ geçidinizin adına sonek olarak _V2 eklenir.

  • AppGWResourceGroupName. Bu isteğe bağlı dize, Application Gateway V2 kaynaklarının oluşturulmasını istediğiniz kaynak grubunun adıdır. Varsayılan değer <V1-app-gw-rgname> değeridir.

    Sağlanan AppGWV2Name ve AppGWResourceGroupName değerleri içeren mevcut bir uygulama ağ geçidinin V1 aboneliğinde olmadığından emin olun. Bu parametre mevcut kaynakları yeniden yazar.

sslCertificates parametresi için TLS/SSL sertifikalarını hazırla

  • sslCertificates. Bu parametre, V1 ağ geçidinizden yeni V2 ağ geçidine yüklenmesi gereken TLS/SSL sertifikalarını temsil etmek için oluşturduğunuz nesnelerin virgülle ayrılmış bir listesini PSApplicationGatewaySslCertificate sağlar.

    Standart V1 veya Web Uygulaması Güvenlik Duvarı V1 ağ geçidiniz için yapılandırılan TLS/SSL sertifikalarınızın her biri için, aşağıdaki kodda gösterilen komut aracılığıyla PSApplicationGatewaySslCertificate yeni New-AzApplicationGatewaySslCertificate bir nesne oluşturabilirsiniz. TLS/SSL sertifika dosyanızın yoluna ve parolaya ihtiyacınız vardır.

    Bu parametre, yalnızca V1 ağ geçidinizde veya Web Uygulaması Güvenlik Duvarında yapılandırılmış HTTPS dinleyicileriniz yoksa isteğe bağlıdır. En az bir HTTPS dinleyicisi kurulumunuz varsa, bu parametreyi belirtmeniz gerekir.

       $password = ConvertTo-SecureString <cert-password> -AsPlainText -Force
       $mySslCert1 = New-AzApplicationGatewaySslCertificate -Name "Cert01" `
      -CertificateFile <Cert-File-Path-1> `
       Password $password
       $mySslCert2 = New-AzApplicationGatewaySslCertificate -Name "Cert02" `
      -CertificateFile <Cert-File-Path-2> `
      -Password $password
     ```
    
    You can pass in `$mySslCert1, $mySslCert2` (comma separated) in the previous example as values for this parameter in the script.
    
    

Azure Key Vault'tan sertifikaları indir

  • sslCertificates. Azure Key Vault'ta depolanan sertifikaları indirmek ve geçiş betiğine geçirmek için bu isteğe bağlı parametreyi kullanırsınız. Sertifikayı PFX dosyası olarak indirmek için aşağıdaki komutu çalıştırın. Bu komutlar SecretId içeriğine erişip ardından içeriği bir PFX dosyası olarak kaydeder.
      $vaultName = ConvertTo-SecureString <kv-name> -AsPlainText -Force
      $certificateName = ConvertTo-SecureString <cert-name> -AsPlainText -Force
      $password = ConvertTo-SecureString <password> -AsPlainText -Force
      $pfxSecret = Get-AzKeyVaultSecret -VaultName $vaultName -Name $certificateName -AsPlainText
      $secretByte = [Convert]::FromBase64String($pfxSecret)
      $x509Cert = New-Object Security.Cryptography.X509Certificates.X509Certificate2
      $x509Cert.Import($secretByte, $null, [Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable)
      $pfxFileByte = $x509Cert.Export([Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12, $password)
      # Write to a file
      [IO.File]::WriteAllBytes("KeyVaultcertificate.pfx", $pfxFileByte)

Key Vault'tan indirilen sertifikaların her biri için, aşağıdaki kodda gösterilen komut aracılığıyla PSApplicationGatewaySslCertificate yeni New-AzApplicationGatewaySslCertificate bir nesne oluşturabilirsiniz. TLS/SSL sertifika dosyanızın yoluna ve parolaya ihtiyacınız vardır.

//Convert the downloaded certificate to SSL object
$password = ConvertTo-SecureString  <password> -AsPlainText -Force
$cert = New-AzApplicationGatewaySSLCertificate -Name <certname> -CertificateFile <Cert-File-Path-1> -Password $password

trustedRootCertificates parametresi için güvenilir kök sertifikaları hazırla

  • trustedRootCertificates. V2 ağ geçidinizden arka uç örneklerinizin kimlik doğrulaması için PSApplicationGatewayTrustedRootCertificate temsil eden virgülle ayrılmış bir nesne listesi oluşturmak için bu isteğe bağlı parametreyi kullanın.

      $certFilePath = ".\rootCA.cer"
      $trustedCert = New-AzApplicationGatewayTrustedRootCertificate -Name "trustedCert1" -CertificateFile $certFilePath
    

    Bir PSApplicationGatewayTrustedRootCertificate nesneler listesini oluşturmak için, New-AzApplicationGatewayTrustedRootCertificate sayfasına bakın.

  • privateIpAddress. Yeni V2 ağ geçidinizle ilişkilendirmek istediğiniz belirli bir özel IP adresi sağlamak için bu isteğe bağlı dizeyi kullanın. Yeni V2 ağ geçidiniz için ayırdığınız sanal ağdan olmalıdır. Bu parametreyi belirtmezseniz, betik V2 ağ geçidiniz için özel bir IP adresi tahsis eder.

  • publicIpResourceId. Aboneliğinizde yeni V2 ağ geçidine ayırmak istediğiniz mevcut genel IP adresi (Standart katman) kaynağının kaynak kimliğini sağlamak için bu isteğe bağlı dizeyi kullanın. Genel IP kaynağı adını sağlarsanız, başarılı durumda olduğundan emin olun.

    Bu parametreyi belirtmezseniz, betik aynı kaynak grubunda yeni bir genel IP adresi ayırır. V2 ağ geçidinin adı -IP eklenmiş olarak kullanılır. Genel IP adresi sağlamadan AppGWResourceGroupName sağlarsanız, V1 aboneliğindeki AppGWV2Name-IP adına sahip bir kaynak grubunda adı AppGWResourceGroupName olan bir genel IP kaynağının mevcut olmadığından emin olun.

  • validateMigration. Betiğin V2 ağ geçidi oluşturulduktan ve yapılandırma kopyasından sonra bazı temel yapılandırma karşılaştırma doğrulamaları yapmasını sağlamak için bu isteğe bağlı switch parametresini kullanın. Varsayılan olarak doğrulama yapılmaz.

  • enableAutoScale. Betiğin oluşturulduktan sonra yeni V2 ağ geçidinde otomatik ölçeklendirmeyi etkinleştirmesini sağlamak için bu isteğe bağlı switch parametresini kullanın. Varsayılan olarak, otomatik ölçeklendirme devre dışıdır. Daha sonra yeni oluşturulan V2 ağ geçidinde istediğiniz zaman el ile etkinleştirebilirsiniz.

Betiği çalıştırma adımları

  1. Azure bağlanmak için Connect-AzAccount kullanın.

  2. Az modüllerini içeri aktarmak için Import-Module Az kullanın.

  3. Azure bağlamını etkin olarak doğru aboneliğe ayarlamak için Set-AzContext cmdlet'ini çalıştırın. Geçerli abonelik bağlamında mevcut olmadığı takdirde geçiş betiği mevcut kaynak grubunu temizleyebileceği için bu adım önemlidir.

    Set-AzContext -Subscription '<V1 application gateway SubscriptionId>'
    
  4. Betiği Yükleme başlığındaki adımları izleyerek bu makalenin devamında betiği kurun.

  5. Gerekli parametreleri incelemek için komutunu çalıştırın Get-Help AzureAppGWMigration.ps1 .

  6. Uygun parametreleri kullanarak betiği çalıştırın. Betiğin tamamlanması beş ila yedi dakika sürebilir.

       ./AzureAppGWMigration.ps1
       -resourceId <V1 application gateway resource ID>
       -subnetAddressRange <subnet space you want to use>
       -appgwName <string to use to append>
       -AppGWResourceGroupName <resource group name you want to use>
       -sslCertificates <comma-separated SSLCert objects as above>
       -trustedRootCertificates <comma-separated Trusted Root Cert objects as above>
       -privateIpAddress <private IP string>
       -publicIpResourceId <public IP name string>
       -validateMigration -enableAutoScale
    

    Bir örnek aşağıda verilmiştir:

       ./AzureAppGWMigration.ps1 `
       -resourceId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyResourceGroup/providers/Microsoft.Network/applicationGateways/myv1appgateway `
       -subnetAddressRange 10.0.0.0/24 `
       -appgwname "MynewV2gw" `
       -AppGWResourceGroupName "MyResourceGroup" `
       -sslCertificates $mySslCert1,$mySslCert2 `
       -trustedRootCertificates $trustedCert `
       -privateIpAddress "10.0.0.1" `
       -publicIpResourceId "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyResourceGroup/providers/Microsoft.Network/publicIPAddresses/MyPublicIP" `
       -validateMigration -enableAutoScale
    

Uyarılar ve sınırlamalar

  • Yeni V2 ağ geçidinin yeni genel ve özel IP adresleri vardır. Mevcut V1 ağ geçidiyle ilişkili IP adreslerini sorunsuz bir şekilde V2'ye taşıyamazsınız. Ancak, yeni V2 ağ geçidine mevcut (ayrılmamış) bir genel veya özel IP adresi ayırabilirsiniz.

  • Sanal ağınızdaki V1 ağ geçidinizi içeren başka bir alt ağ için bir IP adresi alanı sağlamanız gerekir. Betik, V1 ağ geçidine sahip bir alt ağda V2 ağ geçidi oluşturamaz. Alt ağda zaten bir V2 ağ geçidi varsa, yeterli IP adresi alanı varsa betik çalışmaya devam edebilir.

  • V2 ağ geçidi alt ağıyla ilişkilendirilmiş bir NSG veya UDR'niz varsa, başarılı bir geçiş için NSG gereksinimlerine ve UDR gereksinimlerine uyduklarından emin olun.

  • Sanal ağ servisi uç nokta politikaları şu anda bir Uygulama Geçidi alt ağında desteklenmemektedir.

  • TLS/SSL yapılandırmasını geçirmek için V1 ağ geçidinizde kullanılan tüm TLS/SSL sertifikalarını belirtmeniz gerekir.

  • V1 ağ geçidiniz için FIPS modunu etkinleştirdiyseniz, bu mod yeni V2 ağ geçidinize geçirilmez.

  • Web Uygulaması Güvenlik Duvarı V2 örneği eski Web Uygulaması Güvenlik Duvarı yapılandırma modunda oluşturulur. Web Uygulaması Güvenlik Duvarı ilkesine geçiş gereklidir.

  • Web Uygulaması Güvenlik Duvarı V2 varsayılan olarak CRS 3.0 kullanacak şekilde yapılandırılmıştır. CRS 3.0 kullanımdan kaldırılma yolunda olduğundan, geçiş sonrasında en son kural kümesine (DRS 2.2) yükseltin. Daha fazla bilgi için bkz. CRS ve DRS kural grupları ve kuralları.

Uyarı

Application Gateway V2, NTLM ve Kerberos geçiş kimlik doğrulamasını destekler. Daha fazla bilgi için bkz. Ayrılmış arka uç bağlantısı.

Betiği yükleme

Uyarı

Set-AzContext -Subscription <V1 application gateway SubscriptionId> cmdlet'i komutunu geçiş betiğini çalıştırmadan önce her seferinde çalıştırın. Geçerli abonelik bağlamında mevcut değilse geçiş betiği mevcut kaynak grubunu temizleyebileceğinden, bu adım etkin Azure bağlamını doğru aboneliğe ayarlamak için gereklidir.

Yerel PowerShell ortamı kurulumunuza ve tercihlerinize bağlı olarak iki seçeneğiniz vardır:

  • Azure Az modülleri yüklü değilse veya Azure Az modüllerini kaldırmanın sakıncası yoksa, en iyi seçenek betiği çalıştırma seçeneğini kullanmaktır Install-Script .
  • Azure Az modüllerini saklamanız gerekiyorsa betiği indirin ve doğrudan çalıştırın.

Azure Az modüllerinin yüklü olup olmadığını belirlemek için Get-InstalledModule -Name az çalıştırın. Yüklü Az modüllerini görmüyorsanız Install-Script yöntemini kullanabilirsiniz.

Bu seçeneği kullanmak için bilgisayarınızda Azure Az modülleri yüklü olmamalıdır. Bunlar yüklüyse, aşağıdaki komut bir hata görüntüler. Azure Az modüllerini kaldırabilir veya diğer seçeneği kullanarak betiği el ile indirip çalıştırabilirsiniz.

En son sürümü almak için betiği aşağıdaki komutlardan biriyle çalıştırın:

  • Geliştirilmiş kamu IP adresi saklama özellikli kopyalama betiğini kullanmak için Install-Script -Name AzureAppGWIPMigrate -Force.
  • Gelişmiş kopyalama betiği için kullanın Install-Script -Name AzureAppGWClone -Force.
  • Eski kopyalama betiği için kullanın Install-Script -Name AzureAppGWMigration -Force.

Komutu gerekli Az modüllerini de yükler.

Betiği doğrudan kullanarak yükleyin

Bazı Azure Az modülleri yüklüyse ve bunları kaldıramıyorsanız (veya kaldırmak istemiyorsanız), betik indirme bağlantısındaki El ile İndirme sekmesini kullanarak betiği el ile indirebilirsiniz.

Betik ham .nupkg dosya olarak indirilir. Betiği bu .nupkg dosyadan yüklemek için: Manuel Paket İndirme'ye bakın.

Eski kopyalama betiği için sürüm 1.0.11, geçiş betiğinin yeni sürümüdür. Önemli hata düzeltmeleri içerir. PowerShell Galerisi'nden en son kararlı sürümü kullandığınızdan emin olun.

İndirilen betiğin sürümünü denetleme

  1. NuGet paketinin içeriğini ayıklayın.

  2. klasöründeki .PS1 dosyayı açın ve indirilen betiğin .VERSION sürümünü onaylamak için değeri denetleyin.

    <#PSScriptInfo
    .VERSION 1.0.10
    .GUID aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    .AUTHOR Microsoft Corporation
    .COMPANYNAME Microsoft Corporation
    .COPYRIGHT Microsoft Corporation. All rights reserved.
    

Trafik geçişi

Önkoşullar

  • Azure portalında, komut dosyasının V1 ağ geçidinizden geçirilen tam yapılandırmaya sahip yeni bir V2 ağ geçidini oluşturduğunu başarıyla doğrulayın.
  • V2 ağ geçidi üzerinden el ile test olarak az miktarda trafik gönderin.

** Ortak IP koruma komut dosyası

Yapılandırmayı başarıyla geçirip yeni V2 ağ geçidinizi kapsamlı bir şekilde test ettikten sonra, bu adım canlı trafiği yeniden yönlendirmeye odaklanır.

Uyarı

IP geçiş betiği, adı sayısal karakterle başlayan genel IP adresi kaynaklarını desteklemez.

  • Betik, Temel genel IP'yi V1'den rezerve eder, Standard'a dönüştürür ve V2 ağ geçidine ekler. Bu eylem, tüm gelen trafiği etkin bir şekilde V2 ağ geçidine yönlendirir.
  • Bu IP değiştirme işlemi genellikle yaklaşık bir ile beş dakika arasında kısa bir kapalı kalma süresine neden olur. Uygun şekilde planlayın.
  • IP saklamanın çalışması için V1 ve V2 ağ geçitlerinin aynı abonelikte olması gerekir.
  • Başarılı bir betik çalıştırmasından sonra genel IP, Application Gateway V1'den Application Gateway V2'ye taşınır. Application Gateway V1 yeni bir genel IP alır.
  • IP geçişi sırasında V1 ve V2 ağ geçitlerinde veya ilişkili kaynaklarda başka bir işlem denemeyin.
  • Bu betiğin gerçekleştirdiği genel IP değişimi geri alınamaz. Başlattıktan sonra betiği kullanarak IP'yi V1 ağ geçidine geri döndüremezsiniz.

Uyarı

IP geçiş betiği, sayısal karakterle başlayan bir DNS adına sahip genel IP adresi kaynaklarını desteklemez. Bu sınırlama, genel IP adresi kaynaklarının bir sayı ile başlayan DNS ad etiketlerine izin vermediğinden oluşur. Bu sorun, genel IP adreslerine formun varsayılan DNS adı otomatik olarak atandığında {GUID}.cloudapp.net V1 ağ geçitlerinde oluşma olasılığı daha yüksektir.

Geçişe devam etmek için, genel IP adresi kaynağını, betiği çalıştırmadan önce bir harfle başlayan bir DNS adı etiketi kullanacak şekilde güncelleştirin. Genel IP DNS'yi yapılandırma hakkında bilgi edinin.

Bu genel IP bekletme betiğini PowerShell Galerisi'nden indirebilirsiniz.

Betik için parametreler

Bu komut dosyası aşağıdaki zorunlu parametreleri gerektirir.

  • v1resourceId. Genel IP'si ayrılacak ve V2 ile ilişkilendirilecek V1 ağ geçidinin kaynak kimliği.
  • v2resourceId. V1 genel IP'sinin atanacağı V2 ağ geçidinin kaynak kimliği. V2 ağ geçidini el ile veya kopyalama betiklerinden herhangi birini kullanarak oluşturabilirsiniz.

Betiği indirip yükledikten sonra gerekli parametrelerle çalıştırınAzureAppGWIPMigrate.ps1:

   ./AzureAppGWIPMigrate.ps1
    -v1resourceId <V1 application gateway resource ID>
    -v2resourceId <V2 application gateway resource ID>

Bir örnek aşağıda verilmiştir:

   ./AzureAppGWIPMigrate.ps1 `
   -v1resourceId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyResourceGroup/providers/Microsoft.Network/applicationGateways/myv1appgateway `
   -v2resourceId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyResourceGroup/providers/Microsoft.Network/applicationGateways/myv2appgateway `

IP değişimi tamamlandıktan sonra, V2 ağ geçidinde denetim düzlemi ve veri düzlemi işlemlerini doğrulayın. Silme dışındaki tüm denetim düzlemi eylemleri V1 ağ geçidinde devre dışı bırakılır.

Trafik geçişi önerileri

Aşağıdaki öğeler, geçerli uygulama ağ geçidinizin (Standart) istemci trafiğini alabileceği birkaç senaryodur ve her biri için önerilerimiz:

  • Özel bir DNS bölgesi (örneğin, contoso.com) Standart V1 veya Web Uygulaması Güvenlik Duvarı V1 ağ geçidinizle ilişkili ön uç IP adresini (A kaydı kullanarak) gösterir.

    DNS kaydınızı Standart V2 uygulama ağ geçidinizle ilişkili ön uç IP'sine veya DNS etiketine işaret eden şekilde güncelleştirebilirsiniz. DNS kaydınızda yapılandırılan yaşam süresine (TTL) bağlı olarak, tüm istemci trafiğinizin yeni V2 ağ geçidinize geçirilmesi biraz zaman alabilir.

  • Özel bir DNS bölgesi (örneğin, contoso.com) V1 ağ geçidinizle ilişkili DNS etiketine (örneğin, CNAME kaydı kullanarak myappgw.eastus.cloudapp.azure.com) işaret eder.

    İki seçeneğiniz vardır:

    • Uygulama ağ geçidinizde genel IP adresleri kullanıyorsanız, trafiği yeni V2 ağ geçidine artımlı olarak yönlendirmek için bir Azure Traffic Manager profili kullanarak denetimli, ayrıntılı bir geçiş yapabilirsiniz.

      Traffic Manager profiline hem V1 hem de V2 uygulama ağ geçitlerinin DNS etiketlerini ekleyerek bu ağırlıklı trafik yönlendirme yöntemini kullanabilirsiniz. Ardından, özel DNS kaydınıza (örneğin, www.contoso.com) Traffic Manager etki alanına (örneğin, contoso.trafficmanager.net) CNAME uygulayın.

    • Özel etki alanı DNS kaydınızı yeni V2 uygulama ağ geçidinin DNS etiketine işaret eden şekilde güncelleştirebilirsiniz. DNS kaydınızda yapılandırılan TTL'ye bağlı olarak, tüm istemci trafiğinizin yeni V2 ağ geçidinize geçirilmesi biraz zaman alabilir.

  • İstemcileriniz uygulama ağ geçidinizin ön uç IP adresine bağlanır.

    İstemcilerinizi yeni oluşturulan V2 uygulama ağ geçidiyle ilişkili IP adresini kullanacak şekilde güncelleştirin. IP adreslerini doğrudan kullanmamanızı öneririz. CNAME aracılığıyla kendi özel DNS bölgenize uygulayabileceğiniz uygulama ağ geçidinizle ilişkilendirilmiş DNS adı etiketini ( yourgateway.eastus.cloudapp.azure.comörneğin, contoso.com) kullanmayı düşünün.

Geçiş sonrası görevler

Trafik geçişi başarılı olduktan ve uygulamanın V2 ağ geçidi üzerinden doğru şekilde çalıştığını tam olarak doğruladıktan sonra, gereksiz maliyetlerden kaçınmak için eski Application Gateway V1 kaynağını güvenli bir şekilde kullanımdan kaldırıp silebilirsiniz.

Fiyatlandırma konusunda dikkat edilmesi gerekenler

Fiyatlandırma modelleri Application Gateway V1 ve V2 için farklıdır. V2, tüketime göre ücretlendirilir. Fiyatlandırma bilgileri için bkz. Geçiş öncesinde Application Gateway fiyatlandırması .

Maliyet verimliliği kılavuzu

Application Gateway V2 aşağıdakiler gibi çeşitli avantajlarla birlikte gelir:

  • 5 kat performans artışı.
  • Key Vault ile tümleşik çalışma sayesinde geliştirilmiş güvenlik.
  • Web Uygulaması Güvenlik Duvarı V2'de daha hızlı güvenlik kuralları güncelleştirmeleri.
  • Web Uygulaması Güvenlik Duvarı özel kuralları.
  • Politika ilişkilendirmeleri.
  • Bot koruması.

Application Gateway V2 ayrıca yüksek ölçeklenebilirlik, iyileştirilmiş trafik yönlendirmesi ve Azure hizmetleriyle sorunsuz tümleştirme sunar. Bu özellikler genel kullanıcı deneyimini geliştirebilir, yoğun trafik zamanlarında yavaşlamaları önleyebilir ve pahalı veri ihlallerini önlemenize yardımcı olabilir.

V1'de katmana ve boyuta göre beş çeşit mevcuttur: Standart Küçük, Standart Orta, Standart Büyük, Web Uygulaması Güvenlik Duvarı Orta ve Web Uygulaması Güvenlik Duvarı Büyük. Bölgenize göre fiyatlandırma bilgileri için fiyatlandırma sayfasına bakın.

Aşağıdaki tabloda yer alan senaryolar yalnızca çizim amaçlı örneklerdir. Hesaplamalar Doğu ABD'yi ve V1'de iki örneği olan bir ağ geçidini temel alır. V2'deki değişken maliyeti, en yüksek kullanımı olan üç boyuttan birini temel alır: yeni bağlantılar (saniyede 50), kalıcı bağlantılar (dakikada 2.500) ve aktarım hızı (kapasite birimi başına 2,22 Mb/sn).

Varyant V1 sabit fiyat/ay V2 sabit fiyat/ay Öneri
Standart Orta 102.2 179.8 V2, bir V1 ağ geçidinden daha fazla sayıda isteği işleyebilir, bu nedenle maliyeti iyileştirmek için birden çok V1 ağ geçidini tek bir V2 ağ geçidinde birleştirmenizi öneririz. Birleştirmenin Application Gateway sınırlarını aşmadığından emin olun. 3:1 konsolidasyon öneririz.
Web Uygulaması Güvenlik Duvarı Orta 183.96 262.8 Standart Orta ile aynı
Standart Büyük 467.2 179.58 Bu değişken için çoğu durumda V2 ağ geçidine geçmek, V1'e kıyasla daha iyi bir fiyat avantajı sağlayabilir.
Web Uygulaması Güvenlik Duvarı Büyük 654.08 262.8 Standart Büyük ile aynıdır.

Fiyatlandırmayla ilgili diğer endişeleriniz için müşteri başarısı hesap yöneticinizle (CSAM) çalışın veya yardım için destek ekibimizle iletişime geçin.

Sık sorulan sorular

Geçişle ilgili sık sorulan soruların yanıtları için bkz. Application Gateway V1'in kullanımdan kaldırılması hakkında sık sorulan sorular.