Migrálás Azure Firewall Premiumba

Az új Prémium képességek kihasználásához migrálhatja Azure Firewall Standardot Azure Firewall Premiumba. A Prémium szintű funkciók Azure Firewall további információkért lásd: Azure Firewall Premium-funkciók.

Ez a cikk bemutatja a standard tűzfal és szabályzat Prémium szintre történő manuális migrálásához szükséges lépéseket.

Tipp

A Azure Firewall termékváltozatának állásidő nélküli módosításának legegyszerűbb módja a Termékváltozat módosítása funkció használata. További információ: Azure Firewall egyszerű frissítés/visszalépés.

A migrálás megkezdése előtt ismerje meg a teljesítménnyel kapcsolatos szempontokat , és tervezze meg előre a szükséges karbantartási időszakot. Jellemzően 20–30 perces leállás várható.

A sikeres migráláshoz a következő általános lépések szükségesek:

  1. Hozzon létre új Prémium szabályzatot a meglévő Standard vagy klasszikus szabályok alapján. Ennek a lépésnek a végére az új prémium szintű szabályzat tartalmazni fogja az összes meglévő szabályt és szabályzatbeállítást.
  2. Azure Firewall migrálása Standardról Prémiumra leállítás/indítás használatával.
  3. Csatolja az újonnan létrehozott Prémium szabályzatot a Prémium tűzfalhoz.

Fontos

A Délkelet-Ázsiában üzembe helyezett standard tűzfal frissítése Availability Zones jelenleg nem támogatott.

Ha a Terraformot használja a Azure Firewall üzembe helyezéséhez, a Terraform használatával migrálhat Azure Firewall Premiumba. További információ: Migrálás Azure Firewall Standardból Prémiumba a Terraform használatával.

A teljesítménnyel kapcsolatos megfontolások

A teljesítmény a standard termékváltozatból való migráláskor számít. Az IDPS és a TLS-vizsgálat nagy számítási igényű műveletek. A prémium termékváltozat egy erősebb virtuálisgép-termékváltozatot használ, amely a standard termékváltozathoz hasonló nagyobb átviteli sebességre skálázható. A Azure Firewall teljesítményével kapcsolatos további információkért lásd: Azure Firewall Teljesítmény

A Microsoft azt javasolja az ügyfeleknek, hogy teljes körű tesztelést végezzenek az Azure-környezetükben, hogy a tűzfalszolgáltatás teljesítménye megfeleljen az elvárásainak.

Állásidő

Migrálja a tűzfalat egy tervezett karbantartási idő alatt, mivel leállítás/indítás használatával Azure Firewall migrálása a Standardból a Prémiumba.

Klasszikus szabályok migrálása standard szabályzatba

Előfordulhat, hogy a migrálási folyamat során át kell telepítenie a klasszikus tűzfalszabályokat egy Standard szabályzatba. Ezt a Azure Portal használatával teheti meg:

  1. A Azure Portal válassza ki a szokásos tűzfalat. Az Áttekintés lapon válassza a Migrálás tűzfalszabályzatba lehetőséget.

    Migrálás tűzfalszabályzatba

  2. A Migrálás tűzfalszabályzatba lapon válassza az Áttekintés + létrehozás lehetőséget.

  3. Válassza a Létrehozás lehetőséget.

    Az üzembe helyezés néhány percet vesz igénybe.

A meglévő klasszikus szabályokat Azure Firewall is áttelepítheti a szabályzatok létrehozásához Azure PowerShell használatával. További információ: Azure Firewall-konfigurációk migrálása Azure Firewall szabályzatba a PowerShell használatával

Meglévő szabályzat migrálása Azure PowerShell használatával

Transform-Policy.ps1egy Azure PowerShell szkript, amely egy új Prémium szabályzatot hoz létre egy meglévő Standard szabályzatból.

A szabványos tűzfalszabályzat-azonosító alapján a szkript prémium szintű Azure-tűzfalszabályzattá alakítja át. A szkript először csatlakozik az Azure-fiókjához, lekéri a szabályzatot, átalakítja/hozzáadja a különböző paramétereket, majd feltölt egy új Premium-szabályzatot. Az új prémium szintű szabályzat neve <previous_policy_name>_premium. Ha gyermekszabályzat-átalakításról van szó, a szülőszabályzatra mutató hivatkozás megmarad.

Példa használati adatokra:

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

Fontos

A szkript nem migrálja a Fenyegetésfelderítés és az SNAT privát tartománybeállításait. A folytatás előtt fel kell jegyeznie ezeket a beállításokat, és manuálisan kell áttelepítenie őket. Ellenkező esetben inkonzisztens forgalomszűrést tapasztalhat az új frissített tűzfallal.

Ehhez a szkripthez a legújabb Azure PowerShell szükséges. Futtassa a parancsot Get-Module -ListAvailable Az a telepített verziók megtekintéséhez. Ha telepítenie kell, olvassa el a Azure PowerShell telepítése modult.

<#
    .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 migrálása leállítás/indítás használatával

Ha Azure Firewall Standard termékváltozatot használ tűzfalszabályzattal, a Kiosztás/felszabadítás metódussal migrálhatja a tűzfal termékváltozatát a Premiumba. Ez a migrálási módszer a VNet Hubon és a Secure Hub-tűzfalakon is támogatott. A Secure Hub üzemelő példányának áttelepítésekor a rendszer megőrzi a tűzfal nyilvános IP-címét.

A minimális Azure PowerShell verziókövetelmény a 6.5.0. További információ: Az 6.5.0.

Virtuális hálózati központ tűzfalának migrálása

  • A standard tűzfal felszabadítása

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Deallocate()
    Set-AzFirewall -AzureFirewall $azfw
    
  • Premium tűzfal lefoglalása (egyetlen nyilvános IP-cím)

    $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
    
  • Premium tűzfal lefoglalása (több nyilvános IP-cím)

    $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
    
  • Premium tűzfal lefoglalása kényszerített bújtatási módban

    $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
    

Biztonságos központ tűzfalának migrálása

  • A standard tűzfal felszabadítása

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Deallocate()
    Set-AzFirewall -AzureFirewall $azfw
    
  • Prémium szintű tűzfal lefoglalása

    $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
    

Prémium szintű szabályzat csatolása prémium szintű tűzfalhoz

Prémium szintű szabályzatot csatolhat az új Prémium tűzfalhoz a Azure Portal:

Képernyőkép a tűzfalszabályzatról

Következő lépések