Delen via


Migreren naar Azure Firewall Premium

U kunt Azure Firewall Standard migreren naar Azure Firewall Premium om te profiteren van de nieuwe Premium-mogelijkheden. Zie Azure Firewall Premium-functies voor meer informatie over Azure Firewall Premium-functies.

In dit artikel wordt u begeleid bij de vereiste stappen voor het handmatig migreren van uw Standard-firewall en -beleid naar Premium.

Tip

De eenvoudigste manier om uw Azure Firewall-SKU zonder uitvaltijd te wijzigen, is door de functie Change SKU te gebruiken. Zie Voor meer informatie azure Firewall eenvoudig upgraden/downgraden.

Voordat u de migratie start, moet u de prestatieoverwegingen begrijpen en vooruit plannen voor het vereiste onderhoudsvenster. Typische uitvalttijd van 20-30 minuten wordt verwacht.

De volgende algemene stappen zijn vereist voor een geslaagde migratie:

  1. Maak een nieuw Premium-beleid op basis van uw bestaande Standard-beleid of klassieke regels. Aan het einde van deze stap bevat uw nieuwe premiumbeleid al uw bestaande regels en beleidsinstellingen.
  2. Migreer Azure Firewall van Standard naar Premium met behulp van stop/start.
  3. Koppel het zojuist gemaakte Premium-beleid aan uw Premium Firewall.

Belangrijk

Het upgraden van een Standard Firewall die is geïmplementeerd in Zuidoost-Azië met Beschikbaarheidszones wordt momenteel niet ondersteund.

Als u Terraform gebruikt om de Azure Firewall te implementeren, kunt u Terraform gebruiken om te migreren naar Azure Firewall Premium. Zie Azure Firewall Standard migreren naar Premium met behulp van Terraform voor meer informatie.

Prestatieoverwegingen

Prestaties zijn een overweging bij het migreren van de standaard-SKU. IDPS- en TLS-inspectie zijn rekenintensieve bewerkingen. De premium-SKU maakt gebruik van een krachtigere VM-SKU, die wordt geschaald naar een hogere doorvoer die vergelijkbaar is met de standaard-SKU. Zie De prestaties van Azure Firewall voor meer informatie over de prestaties van Azure Firewall

Microsoft raadt klanten aan om op volledige schaal tests uit te voeren in hun Azure-implementatie om ervoor te zorgen dat de prestaties van de firewallservice voldoen aan uw verwachtingen.

Uitvaltijd

Migreer uw firewall tijdens een gepland onderhoud, omdat er enige downtime is wanneer u Azure Firewall migreert van Standard naar Premium met behulp van stop/start.

Klassieke regels migreren naar standaardbeleid

Tijdens het migratieproces moet u mogelijk uw klassieke firewallregels migreren naar een standaardbeleid. U kunt dit doen met behulp van Azure Portal:

  1. Selecteer uw standaardfirewall in Azure Portal. Selecteer Migreren naar firewallbeleid op de pagina Overzicht.

    Schermopname van migreren naar firewallbeleid.

  2. Selecteer Beoordelen en maken op de pagina Migreren naar firewallbeleid.

  3. Selecteer Maken.

    Het duurt enkele minuten om de implementatie te voltooien.

U kunt ook bestaande klassieke regels migreren vanuit Azure Firewall met behulp van Azure PowerShell om beleid te maken. Zie Azure Firewall-configuraties migreren naar Azure Firewall-beleid met behulp van PowerShell voor meer informatie

Een bestaand beleid migreren met behulp van Azure PowerShell

Transform-Policy.ps1 is een Azure PowerShell-script waarmee een nieuw Premium-beleid wordt gemaakt op basis van een bestaand Standard-beleid.

Gezien een standaard-firewallbeleids-id, transformeert het script het naar een Premium Azure-firewallbeleid. Het script maakt eerst verbinding met uw Azure-account, haalt het beleid op, transformeert/voegt verschillende parameters toe en uploadt vervolgens een nieuw Premium-beleid. Het nieuwe premium-beleid heeft de naam <previous_policy_name>_premium. Als het een onderliggende beleidstransformatie is, blijft een koppeling naar het bovenliggende beleid behouden.

Voorbeeld van syntaxis:

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

Belangrijk

Met het script worden instellingen voor bedreigingsinformatie en SNAT-privébereiken niet gemigreerd. U moet deze instellingen noteren voordat u doorgaat en ze handmatig migreert. Anders kan het zijn dat er inconsistente verkeersfilters optreden met uw nieuwe bijgewerkte firewall.

Voor dit script is de nieuwste Azure PowerShell vereist. Voer Get-Module -ListAvailable Az uit om te zien welke versies zijn geïnstalleerd. Als u PowerShell moet installeren, raadpleegt u De Azure PowerShell-module installeren.

<#
    .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
        $ruleToTransfom = Get-AzFirewallPolicyRuleCollectionGroup -AzureFirewallPolicy $Policy -Name $ruleResource.Name
        $ruleCollectionGroup = @{
            FirewallPolicyObject = $premiumPolicy
            Priority = $ruleToTransfom.Properties.Priority
            Name = $ruleToTransfom.Name
        }

        if ($ruleToTransfom.Properties.RuleCollection.Count) {
            $ruleCollectionGroup["RuleCollection"] = $ruleToTransfom.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

Azure Firewall migreren met behulp van stoppen/starten

Als u Azure Firewall Standard SKU met firewallbeleid gebruikt, kunt u de methode Toewijzen/toewijzing ongedaan maken gebruiken om uw firewall-SKU te migreren naar Premium. Deze migratiebenadering wordt ondersteund op zowel VNet Hub- als Secure Hub-firewalls. Wanneer u een Secure Hub-implementatie migreert, blijft het openbare IP-adres van de firewall behouden.

De minimale versievereiste voor Azure PowerShell is 6.5.0. Zie Az 6.5.0 voor meer informatie.

Een VNET Hub-firewall migreren

  • De toewijzing van de Standard-firewall ongedaan maken

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Deallocate()
    Set-AzFirewall -AzureFirewall $azfw
    
  • Firewall Premium toewijzen (één openbaar IP-adres)

    $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
    
  • Firewall Premium toewijzen (meerdere openbare IP-adressen)

    $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
    
  • Firewall Premium toewijzen in modus geforceerde tunnel

    $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
    

Een Secure Hub Firewall migreren

  • De toewijzing van de Standard-firewall ongedaan maken

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Deallocate()
    Set-AzFirewall -AzureFirewall $azfw
    
  • Firewall Premium toewijzen

    $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
    

Een Premium-beleid koppelen aan een Premium-firewall

U kunt een Premium-beleid koppelen aan de nieuwe Premium Firewall met behulp van Azure Portal:

Schermopname van firewallbeleid

Volgende stappen