Migrace brány Aplikace Azure gateway a firewallu webových aplikací z V1 na V2

28. dubna 2023 jsme oznámili vyřazení skladové položky služby Application Gateway V1 (Standard a WAF). Skladová položka V1 se vyřadí 28. dubna 2026. Další informace najdete v tématu Migrace služby Application Gateway ze skladové položky V1 na skladovou položku V2 do 28. dubna 2026.

Aplikace Azure Gateway a Firewall webových aplikací (WAF) V2 teď nabízejí další funkce, jako je automatické škálování, dostupnost, redundance zón, vyšší výkon, rychlejší operace a vylepšená propustnost ve srovnání s V1. Pro skladovou položku V2 jsou vydány také všechny nové funkce. Důrazně doporučujeme vytvořit plán migrace.

Brány V1 se automaticky neupgradují na V2. Tento průvodce migrací vám pomůže naplánovat a provést migrace.

Migrace má dvě fáze:

  1. Migrace konfigurace
  2. Migrace provozu klienta

Tento článek primárně pomáhá s migrací konfigurace. Migrace provozu klientů se liší v závislosti na prostředí. V tomto článku jsou uvedena některá obecná doporučení.

Požadavky

  • Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
  • Existující služba Application Gateway V1 Standard.
  • Ujistěte se, že máte nejnovější moduly PowerShellu, nebo můžete použít Azure Cloud Shell na portálu.
  • Pokud používáte PowerShell místně, musíte také spustit Connect-AzAccount , abyste vytvořili připojení k Azure.
  • Ujistěte se, že v předplatném V1 neexistuje žádná aplikační brána s zadaným názvem AppGW V2 a názvem skupiny prostředků. Tím se stávající prostředky přepíšou.
  • Pokud je k dispozici veřejná IP adresa, ujistěte se, že je v úspěšném stavu. Pokud není zadaný a appGWResourceGroupName, ujistěte se, že veřejný prostředek IP s názvem AppGWV2Name-IP ve skupině prostředků s názvem AppGWResourceGroupName v předplatném V1 neexistuje.
  • Ujistěte se, že během migrace neplánuje žádná jiná operace na bráně V1 ani žádné přidružené prostředky.

Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.

Spuštění služby Azure Cloud Shell:

Možnost Příklad nebo odkaz
Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu. Screenshot that shows an example of Try It for Azure Cloud Shell.
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. Button to launch Azure Cloud Shell.
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Použití Azure Cloud Shellu:

  1. Spusťte Cloud Shell.

  2. Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.

  3. Vložte kód nebo příkaz do relace Cloud Shellu tak, že ve Windows a Linuxu vyberete ctrl+Shift+V nebo vyberete Cmd+Shift+V v macOS.

  4. Stisknutím klávesy Enter spusťte kód nebo příkaz.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Důležité

Set-AzContext -Subscription <V1 application gateway SubscriptionId> Před spuštěním skriptu migrace spusťte rutinu pokaždé. To je nezbytné k nastavení aktivního kontextu Azure na správné předplatné, protože skript migrace může stávající skupinu prostředků vyčistit, pokud neexistuje v kontextu aktuálního předplatného. Toto není povinný krok pro verzi 1.0.11 a vyšší než skript migrace.

Důležité

K dispozici je nová stabilní verze skriptu migrace verze 1.0.11, která obsahuje důležité opravy chyb a aktualizace. Tuto verzi použijte, abyste se vyhnuli potenciálním problémům.

Migrace konfigurace

V tomto dokumentu je k dispozici skript Azure PowerShellu. Provede následující operace, které vám pomůžou s konfigurací:

  • Vytvoří novou bránu Standard_V2 nebo WAF_V2 v podsíti virtuální sítě, kterou zadáte.
  • Bezproblémově zkopíruje konfiguraci přidruženou k bráně V1 Standard nebo WAF do nově vytvořené Standard_V2 nebo brány WAF_V2.

Stažení skriptu

Skript migrace si můžete stáhnout z Galerie prostředí PowerShell. K dispozici je nová stabilní verze (verze 1.0.11) skriptu migrace, která zahrnuje hlavní aktualizace a opravy chyb. Doporučujeme použít tuto stabilní verzi.

Použití skriptu

Poznámka:

Set-AzContext -Subscription <V1 application gateway SubscriptionId> Před spuštěním skriptu migrace spusťte rutinu pokaždé. To je nezbytné k nastavení aktivního kontextu Azure na správné předplatné, protože skript migrace může stávající skupinu prostředků vyčistit, pokud neexistuje v kontextu aktuálního předplatného. Toto není povinný krok pro verzi 1.0.11 a vyšší než skript migrace.

V závislosti na místním nastavení a předvolbách prostředí PowerShell máte dvě možnosti:

  • Pokud nemáte nainstalované moduly Azure Az nebo vám nevadí odinstalovat moduly Azure Az, nejlepší možností je použít Install-Script možnost ke spuštění skriptu.
  • Pokud potřebujete zachovat moduly Azure Az, je nejlepším řešením stáhnout skript a spustit ho přímo.

Pokud chcete zjistit, jestli máte nainstalované moduly Azure Az, spusťte Get-InstalledModule -Name azpříkaz . Pokud nevidíte žádné nainstalované moduly Az, můžete použít metodu Install-Script .

Pokud chcete tuto možnost použít, nesmíte mít na počítači nainstalované moduly Azure Az. Pokud jsou nainstalované, zobrazí se následující příkaz s chybou. Moduly Azure Az můžete buď odinstalovat, nebo pomocí druhé možnosti skript stáhnout ručně a spustit ho.

Spuštěním skriptu pomocí následujícího příkazu získejte nejnovější verzi:

Install-Script -Name AzureAppGWMigration -Force

Tento příkaz také nainstaluje požadované moduly Az.

Instalace pomocí skriptu přímo

Pokud máte nainstalované nějaké moduly Azure Az a nemůžete je odinstalovat (nebo je nechcete odinstalovat), můžete skript stáhnout ručně pomocí karty Ruční stažení v odkazu ke stažení skriptu. Skript se stáhne jako nezpracovaný soubor nupkg. Pokud chcete skript nainstalovat z tohoto souboru nupkg, přečtěte si téma Ruční stažení balíčku.

Verze 1.0.11 je nová verze skriptu migrace, která obsahuje hlavní opravy chyb. Doporučujeme použít tuto stabilní verzi.

Postup kontroly verze staženého skriptu

Pokud chcete zkontrolovat verzi staženého skriptu, postupujte takto:

  • Extrahujte obsah balíčku NuGet.
  • .PS1 Otevřete soubor ve složce a zkontrolujte .VERSION nahoře, abyste potvrdili verzi staženého skriptu.
<#PSScriptInfo
.VERSION 1.0.10
.GUID be3b84b4-e9c5-46fb-a050-699c68e16119
.AUTHOR Microsoft Corporation
.COMPANYNAME Microsoft Corporation
.COPYRIGHT Microsoft Corporation. All rights reserved.

Spuštění skriptu

Spuštění skriptu:

  1. Slouží Connect-AzAccount k připojení k Azure.

  2. Slouží Import-Module Az k importu modulů Az.

  3. Spuštěním rutiny Set-AzContext nastavte aktivní kontext Azure na správné předplatné. Jedná se o důležitý krok, protože skript migrace může stávající skupinu prostředků vyčistit, pokud neexistuje v kontextu aktuálního předplatného.

    Set-AzContext -Subscription '<V1 application gateway SubscriptionId>'
    
  4. Spusťte, Get-Help AzureAppGWMigration.ps1 abyste prozkoumali požadované parametry:

    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
    

Poznámka:

Během migrace se nepokoušejte o žádnou jinou operaci na bráně V1 ani o žádné přidružené prostředky.

Parametry skriptu:

  • resourceId: [Řetězec]: Povinný argument: Tento parametr je ID prostředku Azure pro vaši stávající bránu V1 nebo WAF V1. Pokud chcete najít tuto hodnotu řetězce, přejděte na web Azure Portal, vyberte prostředek application gateway nebo WAF a klikněte na odkaz Vlastnosti brány. ID prostředku se nachází na této stránce.

    Id prostředku získáte také spuštěním následujících příkazů Azure PowerShellu:

    $appgw = Get-AzApplicationGateway -Name <V1 gateway name> -ResourceGroupName <resource group Name>
    $appgw.Id
    
  • subnetAddressRange: [String]: Povinný argument: Tento parametr je adresní prostor IP adres, který jste přidělili (nebo chcete přidělit) pro novou podsíť, která obsahuje vaši novou bránu V2. Adresní prostor musí být zadán v zápisu CIDR. Příklad: 10.0.0.0/24. Tuto podsíť nemusíte předem vytvářet, ale CIDR musí být součástí adresního prostoru virtuální sítě. Skript ho vytvoří za vás, pokud neexistuje a pokud existuje, použije existující (ujistěte se, že je podsíť buď prázdná, obsahuje pouze bránu V2, pokud existuje, a má dostatek dostupných IP adres).

  • appgwName: [Řetězec]: Volitelné. Jedná se o řetězec, který zadáte jako název nové Standard_V2 nebo brány WAF_V2. Pokud tento parametr není zadaný, použije se název vaší existující brány V1 s příponou , _V2 připojenou.

  • AppGWResourceGroupName: [String]: Volitelné. Název skupiny prostředků, ve které chcete vytvořit prostředky služby Application Gateway V2 (výchozí hodnota je <V1-app-gw-rgname>)

Poznámka:

Ujistěte se, že v předplatném V1 neexistuje žádná aplikační brána s zadaným názvem AppGW V2 a názvem skupiny prostředků. Tím se stávající prostředky přepíšou.

  • sslCertificates: [PSApplicationGatewaySslCertificate]: Volitelné. Do nové brány V2 se musí nahrát čárkami oddělený seznam objektů PSApplicationGatewaySslCertificate, které vytvoříte pro reprezentaci certifikátů TLS/SSL z brány V1. Pro každý certifikát TLS/SSL nakonfigurovaný pro bránu Standard V1 nebo WAF V1 můžete vytvořit nový objekt PSApplicationGatewaySslCertificate pomocí New-AzApplicationGatewaySslCertificate zde uvedeného příkazu. Potřebujete cestu k souboru TLS/SSL Cert a heslu.

    Tento parametr je volitelný jenom v případě, že nemáte nakonfigurované naslouchací procesy HTTPS pro bránu V1 nebo WAF. Pokud máte alespoň jedno nastavení naslouchacího procesu HTTPS, musíte zadat tento parametr.

    $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
    

    V předchozím příkladu můžete předat $mySslCert1, $mySslCert2 (oddělené čárkami) jako hodnoty pro tento parametr ve skriptu.

  • SslCertificates z keyvault: Volitelné. Certifikáty uložené ve službě Azure Key Vault si můžete stáhnout a předat ho do skriptu migrace. Pokud chcete certifikát stáhnout jako soubor PFX, spusťte následující příkaz. Tyto příkazy přistupují k SecretId a pak obsah uloží jako soubor PFX.

     $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)
    

    Pro každý certifikát stažený z Keyvault můžete vytvořit nový objekt PSApplicationGatewaySslCertificate pomocí příkazu New-AzApplicationGatewaySslCertificate, který je zde uvedený. Potřebujete cestu k souboru TLS/SSL Cert a heslu.

    //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: [PSApplicationGatewayTrustedRootCertificate]: Volitelné. Čárkami oddělený seznam objektů PSApplicationGatewayTrustedRootCertificate, které vytvoříte, aby představovaly důvěryhodné kořenové certifikáty pro ověřování vašich back-endových instancí z vaší brány v2.

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

    Pokud chcete vytvořit seznam objektů PSApplicationGatewayTrustedRootCertificate, přečtěte si téma New-AzApplicationGatewayTrustedRootCertificate.

  • privateIpAddress: [String]: Volitelné. Konkrétní privátní IP adresa, kterou chcete přidružit k nové bráně V2. Musí to být ze stejné virtuální sítě, kterou přidělíte pro novou bránu V2. Pokud není zadaný, skript přidělí privátní IP adresu vaší brány V2.

  • publicIpResourceId: [String]: Volitelné. ResourceId existujícího prostředku veřejné IP adresy (standardní skladová položka) ve vašem předplatném, který chcete přidělit nové bráně V2. Pokud je zadaný název prostředku veřejné IP adresy, ujistěte se, že existuje v úspěšném stavu. Pokud tento parametr nezadáte, skript přidělí novou veřejnou IP adresu ve stejné skupině prostředků. Název je název brány V2 s připojeným -IP adresou. Pokud je zadaný AppGWResourceGroupName a není k dispozici veřejná IP adresa, ujistěte se, že prostředek veřejné IP adresy s názvem AppGWV2Name-IP neexistuje ve skupině prostředků s názvem AppGWResourceGroupName v předplatném V1.

  • validateMigration: [switch]: Volitelné. Tento parametr použijte k povolení skriptu provést několik základních ověření porovnání konfigurace po vytvoření brány V2 a kopii konfigurace. Ve výchozím nastavení se neprokončí žádné ověření.

  • enableAutoScale: [switch]: Volitelné. Tento parametr použijte k povolení automatického škálování na nové bráně V2 po jeho vytvoření. Ve výchozím nastavení je automatické škálování zakázané. V nově vytvořené bráně V2 ji můžete kdykoli později povolit ručně.

  1. Spusťte skript pomocí příslušných parametrů. Dokončení může trvat pět až sedm minut.

    Příklad

    AzureAppGWMigration.ps1 `
       -resourceId /subscriptions/8b1d0fea-8d57-4975-adfb-308f1f4d12aa/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/8b1d0fea-8d57-4975-adfb-308f1f4d12aa/resourceGroups/MyResourceGroup/providers/Microsoft.Network/publicIPAddresses/MyPublicIP" `
       -validateMigration -enableAutoScale
    

Upozornění\Omezení

  • Nová brána V2 má nové veřejné a privátní IP adresy. IP adresy přidružené k existující bráně V1 není možné bez problémů přesunout do V2. Nové bráně V2 ale můžete přidělit existující (nepřidělenou) veřejnou nebo privátní IP adresu.
  • Musíte zadat adresní prostor IP adres pro jinou podsíť ve vaší virtuální síti, ve které se nachází brána V1. Skript nemůže vytvořit bránu V2 v podsíti, která už má bránu V1. Pokud podsíť už má bránu V2, skript může stále fungovat, za předpokladu, že je k dispozici dostatečný adresní prostor IP adres.
  • Pokud máte přidruženou skupinu zabezpečení sítě nebo trasy definované uživatelem k podsíti brány V2, ujistěte se, že splňují požadavky na skupinu zabezpečení sítě a požadavky definované uživatelem pro úspěšnou migraci.
  • Zásady koncového bodu služby virtuální sítě se v současné době nepodporují v podsíti služby Application Gateway.
  • Pokud chcete migrovat konfiguraci PROTOKOLU TLS/SSL, musíte zadat všechny certifikáty TLS/SSL používané v bráně V1.
  • Pokud máte pro bránu V1 povolený režim FIPS, nemigruje se na novou bránu V2. Režim FIPS není ve verzi 2 podporovaný.
  • Pokud máte pouze bránu privátní IP adresy V1, skript vygeneruje pro novou bránu V2 privátní a veřejnou IP adresu. Privátní IP adresa je aktuálně ve verzi Public Preview. Jakmile bude obecně dostupný, zákazníci můžou skript využít k přenosu privátní ip adresy pouze brány V1 do privátní brány ip adresy V2.
  • Application Gateway V2 nepodporuje ověřování protokolem NTLM a Kerberos. Skript nedokáže zjistit, jestli brána obsluhuje tento typ provozu, a pokud je spuštěná, může představovat zásadní změnu z V1 na brány V2.
  • WAFv2 je vytvořen v starém režimu konfigurace WAF; Je vyžadována migrace do zásad WAF.

Migrace provozu

Nejprve pečlivě zkontrolujte, že skript úspěšně vytvořil novou bránu V2 s přesnou konfigurací migrovanou z vaší brány V1. Můžete to ověřit na webu Azure Portal.

Odešlete také malý objem provozu přes bránu V2 jako ruční test.

Následuje několik scénářů, kdy vaše aktuální aplikační brána (Standard) může přijímat klientský provoz a naše doporučení pro každou z nich:

  • Vlastní zóna DNS (například contoso.com), která odkazuje na front-endovou IP adresu (pomocí záznamu A) přidruženou k bráně Standard V1 nebo WAF V1.

    Záznam DNS můžete aktualizovat tak, aby odkazovat na front-endovou IP adresu nebo popisek DNS přidružený k vaší Standard_V2 aplikační bráně. V závislosti na hodnotě TTL nakonfigurované v záznamu DNS může trvat nějakou dobu, než se veškerý klientský provoz migruje na novou bránu V2.

  • Vlastní zóna DNS (například contoso.com), která odkazuje na popisek DNS (například: myappgw.eastus.cloudapp.azure.com pomocí záznamu CNAME) přidruženého k vaší bráně V1.

    Máte dvě možnosti:

    • Pokud ve službě Application Gateway používáte veřejné IP adresy, můžete provádět řízenou podrobnou migraci pomocí profilu Traffic Manageru k přírůstkové směrování provozu (metoda směrování váženého provozu) do nové brány V2.

      Můžete to udělat tak, že přidáte popisky DNS obou aplikačních bran V1 i V2 do profilu Traffic Manageru a do domény Traffic Manageru (například contoso.trafficmanager.net) přidáte vlastní záznam DNS (například www.contoso.comCNAME).

    • Nebo můžete aktualizovat vlastní záznam DNS domény tak, aby odkazovat na popisek DNS nové aplikační brány V2. V závislosti na hodnotě TTL nakonfigurované v záznamu DNS může trvat nějakou dobu, než se veškerý klientský provoz migruje na novou bránu V2.

  • Vaši klienti se připojují k front-endové IP adrese vaší aplikační brány.

    Aktualizujte klienty tak, aby používali IP adresy přidružené k nově vytvořené aplikační bráně V2. Doporučujeme, abyste IP adresy nepoužívejte přímo. Zvažte použití popisku názvu DNS (například yourgateway.eastus.cloudapp.azure.com) přidruženého ke službě Application Gateway, kterou můžete CNAME použít k vlastní zóně DNS (například contoso.com).

Aspekty cen

Cenové modely se liší pro skladové položky služby Application Gateway V1 a V2. V2 se účtuje na základě spotřeby. Než migrujete informace o cenách, přečtěte si informace o cenách služby Application Gateway.

Doprovodné materiály k nákladové efektivitě

Skladová položka V2 má celou řadu výhod, jako je zvýšení výkonu 5krát, vylepšené zabezpečení díky integraci služby Key Vault, rychlejší aktualizace pravidel zabezpečení v WAF_V2, vlastních pravidlech WAF, přidružení zásad a ochrana robotů. Nabízí také vysokou škálovatelnost, optimalizované směrování provozu a bezproblémovou integraci se službami Azure. Tyto funkce můžou zlepšit celkové uživatelské prostředí, zabránit zpomalení v době velkého provozu a vyhnout se nákladným únikům dat.

V SKU V1 je k dispozici pět variant na základě úrovně a velikosti – Standard_Small, Standard_Medium, Standard_Large, WAF_Medium a WAF_Large.

Skladová jednotka (SKU) V1 Pevná cena za měsíc V2 Pevná cena za měsíc Doporučení
Standardní střední 102.2 179.8 Skladová položka V2 dokáže zpracovat větší počet požadavků než brána V1, proto doporučujeme konsolidovat několik bran V1 do jedné brány V2, aby se optimalizovaly náklady. Ujistěte se, že konsolidace nepřekračuje limity služby Application Gateway. Doporučujeme sloučení 3:1.
WAF – středně sytá 183.96 262.8 Stejné jako pro standardní střední
Standardní velký 467.2 179.58 U těchto variant vám ve většině případů přechod na bránu V2 může poskytnout lepší cenovou výhodu oproti V1.
Velký WAF 654.08 262.8 Stejné jako u standardního velkého

Poznámka:

Zde uvedené výpočty jsou založené na oblasti USA – východ a pro bránu se 2 instancemi v 1. Proměnlivé náklady ve verzi 2 jsou založené na jedné ze tří dimenzí s nejvyšším využitím: nová připojení (50/s), trvalá připojení (2500 trvalých připojení/min), propustnost (1 CU dokáže zpracovat 2,22 Mb/s).

Zde popsané scénáře jsou příklady a slouží pouze pro ilustraci. Informace o cenách podle vaší oblasti najdete na stránce Ceny.

Pokud máte další obavy týkající se cen, obraťte se na csAM nebo se spojte s naším týmem podpory a požádejte ho o pomoc.

Časté dotazy

Běžné dotazy k migraci najdete tady.

Další kroky

Další informace o službě Application Gateway V2