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 downtime te wijzigen, is door de functie SKU wijzigen te gebruiken. Zie Azure Firewall eenvoudige upgrade/downgrade voor meer informatie.

Voordat u de migratie start, moet u inzicht hebben in de prestatieoverwegingen en vooruit plannen voor het vereiste onderhoudsvenster. Normaal gesproken wordt een uitlooptijd van 20-30 minuten 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 Premium-beleid al uw bestaande regels en beleidsinstellingen.
  2. Migreer Azure Firewall van Standard naar Premium met behulp van stoppen/starten.
  3. Koppel het zojuist gemaakte Premium-beleid aan uw Premium-firewall.

Belangrijk

Het upgraden van een standaardfirewall 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 Migrate Azure Firewall Standard to Premium using Terraform (Azure Firewall Standard migreren naar Premium met 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 Azure Firewall Prestaties voor meer informatie over Azure Firewall Prestaties

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

Downtime

Migreer uw firewall tijdens een geplande onderhoudstijd, omdat er enige downtime is wanneer u Azure Firewall migreert van Standard naar Premium met behulp van stoppen/starten.

Klassieke regels migreren naar Standard-beleid

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

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

    Migreren naar firewallbeleid

  2. Selecteer op de pagina Migreren naar firewallbeleidde optie Controleren en maken.

  3. Selecteer Maken.

    Het duurt enkele minuten om de implementatie te voltooien.

U kunt ook bestaande klassieke regels migreren van Azure Firewall met behulp van Azure PowerShell om beleidsregels 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.ps1is een Azure PowerShell script waarmee een nieuw Premium-beleid wordt gemaakt op basis van een bestaand Standard-beleid.

Op basis van een standaard firewallbeleids-id wordt dit door het script omgezet in 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 heet <previous_policy_name>_premium. Als het een onderliggende beleidstransformatie is, blijft er een koppeling naar het bovenliggende beleid behouden.

Gebruiksvoorbeeld:

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 kunt u te maken krijgen met inconsistente verkeersfilters met uw nieuwe bijgewerkte firewall.

Voor dit script is de meest recente 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 naar Premium te migreren. 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 vereiste Azure PowerShell versie is 6.5.0. Zie Az 6.5.0 voor meer informatie.

Een VNET Hub-firewall migreren

  • De toewijzing van de standaardfirewall 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 geforceerde tunnelmodus

    $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 beveiligde hubfirewall migreren

  • De toewijzing van de standaardfirewall 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 de Azure Portal:

Schermopname van firewallbeleid

Volgende stappen