Sdílet prostřednictvím


Migrace na Azure Firewall Premium

Azure Firewall Úrovně Standard můžete migrovat na Azure Firewall Premium, abyste mohli využívat nové funkce Premium. Další informace o funkcích služby Azure Firewall Premium najdete v tématu Funkce služby Azure Firewall Premium.

Tento článek vás provede požadovanými kroky ruční migrace standardní brány firewall a zásad na Premium.

Tip

Nejjednodušší způsob, jak změnit skladovou položku služby Azure Firewall bez výpadků, je použít funkci Změnit skladovou položku. Další informace najdete v tématu Snadné upgrade nebo downgrade služby Azure Firewall.

Než začnete s migrací, seznamte se s aspekty výkonu a naplánujte předem požadované časové období údržby . Očekává se typická doba výpadku 20 až 30 minut.

Pro úspěšnou migraci se vyžadují následující obecné kroky:

  1. Vytvořte nové zásady Premium na základě stávajících standardních zásad nebo klasických pravidel. Na konci tohoto kroku budou vaše nové zásady Premium zahrnovat všechna vaše stávající pravidla a nastavení zásad.
  2. Migrace služby Azure Firewall ze standardu na Premium s využitím zastavení a spuštění
  3. Připojte nově vytvořené zásady Premium k bráně Firewall úrovně Premium.

Důležité

Upgrade standardní brány firewall nasazené v jihovýchodní Asii s Zóny dostupnosti se v současné době nepodporuje.

Pokud k nasazení služby Azure Firewall použijete Terraform, můžete k migraci na Azure Firewall Premium použít Terraform. Další informace najdete v tématu Migrace služby Azure Firewall Standard na Premium pomocí Terraformu.

Důležité informace o výkonu

Při migraci ze standardní skladové položky je potřeba zvážit výkon. Kontrola ZPS a TLS jsou výpočetní operace náročné na výpočetní výkon. Skladová položka Premium používá výkonnější skladovou položku virtuálního počítače, která se škáluje na vyšší propustnost srovnatelnou se standardní skladovou jednotkou. Další informace o výkonu služby Azure Firewall najdete v tématu Výkon služby Azure Firewall.

Microsoft doporučuje zákazníkům provádět kompletní testování v nasazení Azure, aby zajistil, že výkon služby firewall splňuje vaše očekávání.

Odstávka

Migrujte bránu firewall během plánované doby údržby, protože při migraci služby Azure Firewall ze standardu na Premium dojde k výpadku pomocí zastavení a spuštění.

Migrace klasických pravidel na zásady Standard

Během procesu migrace možná budete muset migrovat pravidla klasické brány firewall na standardní zásady. Můžete to udělat pomocí webu Azure Portal:

  1. Na webu Azure Portal vyberte standardní bránu firewall. Na stránce Přehled vyberte Možnost Migrovat na zásady brány firewall.

  2. Na stránce Migrovat na zásadu brány firewall vyberte Zkontrolovat a vytvořit.

  3. Vyberte Vytvořit.

    Dokončení nasazení trvá několik minut.

K vytvoření zásad můžete také migrovat existující klasická pravidla ze služby Azure Firewall pomocí Azure PowerShellu. Další informace najdete v tématu Migrace konfigurací služby Azure Firewall do zásad služby Azure Firewall pomocí PowerShellu.

Migrace existujících zásad pomocí Azure PowerShellu

Transform-Policy.ps1 je skript Azure PowerShellu, který vytvoří novou zásadu Premium z existující zásady Standard.

Vzhledem ke standardnímu ID zásad brány firewall ho skript transformuje na zásady brány firewall Azure Úrovně Premium. Skript se nejprve připojí k vašemu účtu Azure, načte zásady, transformuje nebo přidá různé parametry a pak nahraje novou zásadu Premium. Nová zásada Premium má název <previous_policy_name>_premium. Pokud se jedná o transformaci podřízené zásady, zůstane odkaz na nadřazenou zásadu.

Příklad použití:

Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name

Důležité

Skript nemigruje nastavení analýzy hrozeb a privátních rozsahů SNAT. Než budete pokračovat, musíte si tato nastavení poznamenat a migrovat je ručně. V opačném případě může dojít k nekonzistentnímu filtrování provozu s novou upgradovanou bránou firewall.

Tento skript vyžaduje nejnovější Azure PowerShell. Spuštěním zjistíte Get-Module -ListAvailable Az , které verze jsou nainstalované. Pokud potřebujete nainstalovat, přečtěte si téma Instalace modulu Azure PowerShellu.

<#
    .SYNOPSIS
        Given an Azure firewall policy id the script will transform it to a Premium Azure firewall policy.
        The script will first pull the policy, transform/add various parameters and then upload a new premium policy.
        The created policy will be named <previous_policy_name>_premium if no new name provided else new policy will be named as the parameter passed.
    .Example
        Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name -NewPolicyName <optional param for the new policy name>
#>

param (
    #Resource id of the azure firewall policy.
    [Parameter(Mandatory=$true)]
    [string]
    $PolicyId,

    #new filewallpolicy name, if not specified will be the previous name with the '_premium' suffix
    [Parameter(Mandatory=$false)]
    [string]
    $NewPolicyName = ""
)
$ErrorActionPreference = "Stop"
$script:PolicyId = $PolicyId
$script:PolicyName = $NewPolicyName

function ValidatePolicy {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$true)]
        [Object]
        $Policy
    )

    Write-Host "Validating resource is as expected"

    if ($null -eq $Policy) {
        Write-Error "Received null policy"
        exit(1)
    }
    if ($Policy.GetType().Name -ne "PSAzureFirewallPolicy") {
        Write-Error "Resource must be of type Microsoft.Network/firewallPolicies"
        exit(1)
    }

    if ($Policy.Sku.Tier -eq "Premium") {
        Write-Host "Policy is already premium" -ForegroundColor Green
        exit(1)
    }
}

function GetPolicyNewName {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$true)]
        [Microsoft.Azure.Commands.Network.Models.PSAzureFirewallPolicy]
        $Policy
    )

    if (-not [string]::IsNullOrEmpty($script:PolicyName)) {
        return $script:PolicyName
    }

    return $Policy.Name + "_premium"
}

function TransformPolicyToPremium {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$true)]
        [Microsoft.Azure.Commands.Network.Models.PSAzureFirewallPolicy]
        $Policy
    )
    $NewPolicyParameters = @{
                        Name = (GetPolicyNewName -Policy $Policy)
                        ResourceGroupName = $Policy.ResourceGroupName
                        Location = $Policy.Location
                        BasePolicy = $Policy.BasePolicy.Id
                        ThreatIntelMode = $Policy.ThreatIntelMode
                        ThreatIntelWhitelist = $Policy.ThreatIntelWhitelist
                        PrivateRange = $Policy.PrivateRange
                        DnsSetting = $Policy.DnsSettings
                        SqlSetting = $Policy.SqlSetting
                        ExplicitProxy  = $Policy.ExplicitProxy
                        DefaultProfile  = $Policy.DefaultProfile
                        Tag = $Policy.Tag
                        SkuTier = "Premium"
    }

    Write-Host "Creating new policy"
    $premiumPolicy = New-AzFirewallPolicy @NewPolicyParameters

    Write-Host "Populating rules in new policy"
    foreach ($ruleCollectionGroup in $Policy.RuleCollectionGroups) {
        $ruleResource = Get-AzResource -ResourceId $ruleCollectionGroup.Id
        $ruleToTransform = Get-AzFirewallPolicyRuleCollectionGroup -AzureFirewallPolicy $Policy -Name $ruleResource.Name
        $ruleCollectionGroup = @{
            FirewallPolicyObject = $premiumPolicy
            Priority = $ruleToTransform.Properties.Priority
            Name = $ruleToTransform.Name
        }

        if ($ruleToTransform.Properties.RuleCollection.Count) {
            $ruleCollectionGroup["RuleCollection"] = $ruleToTransform.Properties.RuleCollection
        }

        Set-AzFirewallPolicyRuleCollectionGroup @ruleCollectionGroup
    }
}

function ValidateAzNetworkModuleExists {
    Write-Host "Validating needed module exists"
    $networkModule = Get-InstalledModule -Name "Az.Network" -MinimumVersion 4.5 -ErrorAction SilentlyContinue
    if ($null -eq $networkModule) {
        Write-Host "Please install Az.Network module version 4.5.0 or higher, see instructions: https://github.com/Azure/azure-powershell#installation"
        exit(1)
    }
    $resourceModule = Get-InstalledModule -Name "Az.Resources" -MinimumVersion 4.2 -ErrorAction SilentlyContinue
    if ($null -eq $resourceModule) {
        Write-Host "Please install Az.Resources module version 4.2.0 or higher, see instructions: https://github.com/Azure/azure-powershell#installation"
        exit(1)
    }
    Import-Module Az.Network -MinimumVersion 4.5.0
    Import-Module Az.Resources -MinimumVersion 4.2.0
}

ValidateAzNetworkModuleExists
$policy = Get-AzFirewallPolicy -ResourceId $script:PolicyId
ValidatePolicy -Policy $policy
TransformPolicyToPremium -Policy $policy

Migrace služby Azure Firewall pomocí zastavení/spuštění

Pokud používáte skladovou položku Azure Firewall Standard se zásadami brány firewall, můžete pomocí metody Přidělení nebo zrušení přidělení migrovat skladovou položku brány firewall na úroveň Premium. Tento přístup k migraci se podporuje v bráně firewall virtuální sítě i brány firewall zabezpečeného centra. Při migraci nasazení zabezpečeného centra se zachová veřejná IP adresa brány firewall.

Minimální požadavek na verzi Azure PowerShellu je 6.5.0. Další informace najdete v tématu Az 6.5.0.

Migrace brány firewall centra virtuální sítě

  • Zrušení přidělení standardní brány firewall

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Deallocate()
    Set-AzFirewall -AzureFirewall $azfw
    
  • Přidělení brány firewall Premium (jedna veřejná IP adresa)

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Sku.Tier="Premium"
    $vnet = Get-AzVirtualNetwork -ResourceGroupName "<resource-group-name>" -Name "<Virtual-Network-Name>"
    $publicip = Get-AzPublicIpAddress -Name "<Firewall-PublicIP-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Allocate($vnet,$publicip)
    Set-AzFirewall -AzureFirewall $azfw
    
  • Přidělení brány firewall Premium (více veřejných IP adres)

    $azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
    $azfw.Sku.Tier="Premium"
    $vnet = Get-AzVirtualNetwork -ResourceGroupName "RG Name" -Name "VNet Name"
    $publicip1 = Get-AzPublicIpAddress -Name "Public IP1 Name" -ResourceGroupName "RG Name"
    $publicip2 = Get-AzPublicIpAddress -Name "Public IP2 Name" -ResourceGroupName "RG Name"
    $azfw.Allocate($vnet,@($publicip1,$publicip2))
    Set-AzFirewall -AzureFirewall $azfw
    
  • Přidělení brány firewall Premium v režimu vynucených tunelů

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Sku.Tier="Premium"
    $vnet = Get-AzVirtualNetwork -ResourceGroupName "<resource-group-name>" -Name "<Virtual-Network-Name>"
    $publicip = Get-AzPublicIpAddress -Name "<Firewall-PublicIP-name>" -ResourceGroupName "<resource-group-name>"
    $mgmtPip = Get-AzPublicIpAddress -ResourceGroupName "<resource-group-name>"-Name "<Management-PublicIP-name>"
    $azfw.Allocate($vnet,$publicip,$mgmtPip)
    Set-AzFirewall -AzureFirewall $azfw
    

Migrace brány firewall zabezpečeného centra

  • Zrušení přidělení standardní brány firewall

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Deallocate()
    Set-AzFirewall -AzureFirewall $azfw
    
  • Přidělení brány firewall Premium

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $hub = get-azvirtualhub -ResourceGroupName "<resource-group-name>" -name "<vWANhub-name>"
    $azfw.Sku.Tier="Premium"
    $azfw.Allocate($hub.id)
    Set-AzFirewall -AzureFirewall $azfw
    

Připojení zásad Premium k bráně Firewall úrovně Premium

K nové bráně Firewall úrovně Premium můžete připojit zásadu Premium pomocí webu Azure Portal:

Snímek obrazovky zobrazující zásady brány firewall

Další kroky