Udostępnij za pośrednictwem


Migrowanie do usługi Azure Firewall — wersja Premium

Możesz przeprowadzić migrację usługi Azure Firewall w warstwie Standardowa do usługi Azure Firewall Premium, aby skorzystać z nowych funkcji Premium. Aby uzyskać więcej informacji na temat funkcji usługi Azure Firewall w wersji Premium, zobacz Funkcje usługi Azure Firewall w wersji Premium.

Ten artykuł zawiera instrukcje wymagane do ręcznej migracji zapory ogniowej Standard i zasad do Premium.

Napiwek

Najprostszym sposobem zmiany jednostki SKU usługi Azure Firewall bez przestoju jest użycie funkcji Zmień jednostkę SKU . Aby uzyskać więcej informacji, zobacz Azure Firewall easy upgrade/downgrade (Łatwe uaktualnianie/obniżanie poziomu usługi Azure Firewall).

Przed rozpoczęciem migracji zapoznaj się z kwestiami wydajności i zaplanuj z wyprzedzeniem okno konserwacyjne. Oczekiwany jest typowy czas przestoju 20–30 minut.

Następujące ogólne kroki są wymagane do pomyślnej migracji:

  1. Utwórz nowe zasady Premium na podstawie istniejących zasad standardowych lub reguł klasycznych. Po zakończeniu tego kroku nowa polisa Premium będzie zawierać wszystkie Twoje istniejące reguły i ustawienia polityki.
  2. Migrowanie usługi Azure Firewall z warstwy Standardowa do warstwy Premium przy użyciu zatrzymywania/uruchamiania.
  3. Przypisz nowo utworzoną polisę Premium do swojej zapory Premium.

Ważne

Uaktualnianie standardowej zapory wdrożonej w Azji Południowo-Wschodniej ze strefami dostępności nie jest obecnie obsługiwane.

Jeśli używasz narzędzia Terraform do wdrażania usługi Azure Firewall, możesz użyć narzędzia Terraform do migracji do usługi Azure Firewall Premium. Aby uzyskać więcej informacji, zobacz Migrowanie usługi Azure Firewall w warstwie Standardowa do warstwy Premium przy użyciu narzędzia Terraform.

Zagadnienia dotyczące wydajności

Wydajność jest brana pod uwagę podczas migracji ze standardowej jednostki SKU. Inspekcja idPS i TLS to operacje intensywnie korzystające z obliczeń. Jednostka SKU w warstwie Premium używa bardziej wydajnej jednostki SKU maszyny wirtualnej, która jest skalowana do wyższej przepływności porównywalnej ze standardową jednostkę SKU. Aby uzyskać więcej informacji na temat wydajności usługi Azure Firewall, zobacz Wydajność usługi Azure Firewall

Firma Microsoft zaleca klientom przeprowadzanie testów na pełną skalę we wdrożeniu platformy Azure w celu zapewnienia, że wydajność usługi zapory spełnia Twoje oczekiwania.

Przestój

Przeprowadź migrację zapory podczas zaplanowanego czasu konserwacji, ponieważ podczas migrowania usługi Azure Firewall z warstwy Standardowa do warstwy Premium nastąpi przerwa przy użyciu zatrzymania/uruchomienia.

Migrowanie reguł klasycznych do zasad standardowych

Podczas procesu migracji może być konieczne przeprowadzenie migracji klasycznych reguł zapory do zasad standardowych. Możesz to zrobić za pomocą witryny Azure Portal:

  1. W witrynie Azure Portal wybierz standardową zaporę. Na stronie Przegląd wybierz Migruj do zasad zapory sieciowej.

  2. Na stronie Migracja do zasad zapory wybierz opcję Przejrzyj i utwórz.

  3. Wybierz pozycję Utwórz.

    Ukończenie wdrożenia trwa kilka minut.

Istniejące reguły klasyczne można również migrować z usługi Azure Firewall przy użyciu programu Azure PowerShell w celu utworzenia zasad. Aby uzyskać więcej informacji, zobacz Migrowanie konfiguracji usługi Azure Firewall do zasad usługi Azure Firewall przy użyciu programu PowerShell

Migrowanie istniejących zasad przy użyciu programu Azure PowerShell

Transform-Policy.ps1 to skrypt Azure PowerShell, który tworzy nową zasadę Premium na podstawie istniejącej zasady Standardowa.

Biorąc pod uwagę standardowy identyfikator polityki zapory, skrypt przekształca go w politykę zapory Azure Premium. Skrypt najpierw łączy się z Twoim kontem Azure, pobiera polisę, przekształca i dodaje różne parametry, a następnie przesyła nową polisę Premium. Nowa polisa premium nosi nazwę <previous_policy_name>_premium. Jeśli jest to przekształcenie zasad podrzędnych, pozostanie link do zasad nadrzędnych.

Przykład użycia:

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

Ważne

Skrypt nie migruje ustawień analizy zagrożeń i prywatnych zakresów SNAT. Przed kontynuowaniem należy zanotować te ustawienia i przeprowadzić ich migrację ręcznie. W przeciwnym razie może wystąpić niespójne filtrowanie ruchu przy użyciu nowej uaktualnionej zapory.

Ten skrypt wymaga najnowszej wersji programu Azure PowerShell. Uruchom polecenie Get-Module -ListAvailable Az , aby zobaczyć, które wersje są zainstalowane. Jeśli musisz zainstalować, zobacz Instalowanie modułu programu Azure PowerShell.

<#
    .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

Migrowanie usługi Azure Firewall przy użyciu zatrzymywania/uruchamiania

Jeśli używasz Azure Firewall Standard SKU z polityką zapory, możesz użyć metody Allocate/Deallocate, aby przeprowadzić migrację SKU zapory do warstwy Premium. Takie podejście do migracji jest obsługiwane zarówno w zaporach sieciowych koncentratora sieci wirtualnej, jak i zaporach sieciowych Bezpiecznego Koncentratora. Podczas migracji wdrożenia usługi Secure Hub zachowany zostanie publiczny adres IP zapory.

Minimalne wymaganie dotyczące wersji programu Azure PowerShell to 6.5.0. Aby uzyskać więcej informacji, zobacz Az 6.5.0.

Migrowanie zapory koncentratora sieci wirtualnej

  • Zwolnij zaporę standardową

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Deallocate()
    Set-AzFirewall -AzureFirewall $azfw
    
  • Przydziel zaporę sieciową Premium (pojedynczy publiczny adres IP)

    $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
    
  • Przydziel Firewall Premium (przydzielanie wielu publicznych adresów IP)

    $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
    
  • Przydzielanie zapory Premium w trybie wymuszonego tunelu

    $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
    

Migrowanie zapory Secure Hub

  • Cofanie przydziału zapory standardowej

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Deallocate()
    Set-AzFirewall -AzureFirewall $azfw
    
  • Przydziel zaporę 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
    

Dołącz zasady Premium do zapory Premium

Zasady Premium można dołączyć do nowej zapory Premium za pomocą portalu Azure.

Zrzut ekranu przedstawiający zasady zapory

Następne kroki