Udostępnij przez


Zmienianie jednostki SKU usługi Azure Firewall

W tym artykule pokazano, jak zmienić SKU zapory Azure między wersją Standard a Premium. Możesz uaktualnić z warstwy Standardowa do Warstwy Premium, aby korzystać z rozszerzonych funkcji zabezpieczeń lub obniżyć z warstwy Premium do warstwy Standardowa, gdy te funkcje nie są już potrzebne. Usługa Azure Firewall Premium udostępnia zaawansowane funkcje ochrony przed zagrożeniami, takie jak idPS, inspekcja protokołu TLS i filtrowanie adresów URL.

Przy użyciu jednej z dwóch metod możesz zmienić wartość SKU zapory.

  • Prosta metoda zmiany SKU (zalecana): uaktualnienie lub obniżenie poziomu bez przestoju przy użyciu Azure Portal, PowerShell lub Terraform
  • Metoda migracji ręcznej: migracja krok po kroku dla złożonych scenariuszy lub gdy łatwa zmiana jednostki SKU nie jest dostępna

Aby uzyskać więcej informacji na temat funkcji usługi Azure Firewall w wersji Premium, zobacz Funkcje usługi Azure Firewall w wersji Premium.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz następujące elementy:

  • Subskrypcja platformy Azure z istniejącym wdrożeniem usługi Azure Firewall
  • Odpowiednie uprawnienia do modyfikowania zasobów zapory (rola współautora sieci lub nowsza)
  • Moduł programu Azure PowerShell w wersji 6.5.0 lub nowszej (dla metod programu PowerShell)
  • Okno planowanej konserwacji (dla metody migracji ręcznej)

Ważne

Ten artykuł dotyczy tylko jednostek SKU usługi Azure Firewall w warstwie Standardowa i Premium. Podstawowa jednostka SKU usługi Azure Firewall nie obsługuje zmian jednostki SKU i należy najpierw dokonać migracji do jednostki SKU w warstwie Standardowa przed uaktualnieniem do warstwy Premium. Zawsze wykonuj operacje zmiany jednostki SKU podczas zaplanowanych czasów konserwacji i najpierw przetestuj proces w środowisku nieprodukcyjnym.

Najprostszym sposobem zmiany jednostki SKU usługi Azure Firewall z zerowym przestojem jest użycie funkcji Zmień jednostkę SKU . Ta metoda obsługuje zarówno aktualizację ze Standardowej do Premium, jak i degradację z Premium do Standardowej.

Kiedy warto korzystać z łatwej zmiany SKU

Użyj prostej metody zmiany jednostki SKU, gdy:

  • Masz usługę Azure Firewall z polityką zapory (nie klasycznymi regułami)
  • Zapora jest wdrażana w obsługiwanym regionie
  • Chcesz zminimalizować przestój (bez przestoju w tej metodzie)
  • Masz standardowe wdrożenie bez niestandardowych, złożonych konfiguracji
  • W przypadku obniżenia poziomu: Twoja polityka Premium nie wykorzystuje funkcji dostępnych wyłącznie w Premium, które są niezgodne ze standardowym planem

Zagadnienia dotyczące zasad dotyczące zmian jednostki SKU

Uaktualnienie do wersji Premium

Podczas procesu uaktualniania wybierz sposób zarządzania ustawieniami zapory.

  • Istniejące zasady Premium: wybierz istniejące zasady Premium, aby dołączyć do uaktualnionej zapory
  • Istniejące zasady standardowe: użyj bieżących zasad standardowych. System automatycznie duplikuje i uaktualnia go do zasad Premium
  • Tworzenie nowych zasad Premium: pozwól systemowi utworzyć nowe zasady Premium na podstawie bieżącej konfiguracji

Obniżenie do Standard

Podczas obniżania poziomu z warstwy Premium do warstwy Standardowa należy wziąć pod uwagę następujące wymagania dotyczące zasad:

Ważne

Przed obniżeniem poziomu do Standardowego SKU należy usunąć lub wyłączyć funkcje z wyłącznością Premium.

Funkcje premium do rozwiązania przed obniżeniem poziomu:

  • Inspekcja protokołu TLS: wyłączanie reguł inspekcji protokołu TLS i usuwanie skojarzonych certyfikatów
  • IDPS (system wykrywania i zapobiegania włamaniom): Zmień tryb IDPS z Alert i Deny na tylko Alert lub Wył.
  • Filtrowanie adresów URL: zamień reguły filtrowania adresów URL na filtrowanie nazw FQDN, jeśli to możliwe
  • Kategorie sieci Web: usuwanie lub zastępowanie reguł kategorii sieci Web określonymi regułami nazw FQDN

** Opcje zarządzania zasadami:

  • Użyj istniejących zasad standardowych: wybierz istniejące zasady standardowe, które nie zawierają funkcji Premium
  • Tworzenie nowych zasad standardowych: system może utworzyć nowe zasady standardowe, automatycznie usuwając funkcje specyficzne dla warstwy Premium
  • Modyfikowanie bieżących zasad: Ręcznie usuń funkcje Premium z bieżących zasad przed obniżeniem poziomu

Zmień SKU za pomocą portalu Azure

Aby zmienić jednostkę SKU zapory przy użyciu portalu Azure:

Uaktualnienie do wersji Premium

  1. Zaloguj się do witryny Azure Portal.
  2. Przejdź do zasobu usługi Azure Firewall.
  3. Na stronie Przegląd wybierz pozycję Zmień jednostkę SKU.
  4. W oknie dialogowym Zmiana jednostki SKU wybierz pozycję Premium jako docelową jednostkę SKU.
  5. Wybierz opcję zasad:
    • Wybierz istniejące zasady Premium lub
    • Pozwól systemowi uaktualnić twój aktualny plan Standard do planu Premium
  6. Wybierz pozycję Zapisz , aby rozpocząć uaktualnianie.

Obniżenie do Standard

  1. Zaloguj się do witryny Azure Portal.
  2. Przejdź do zasobu Azure Firewall Premium.
  3. Przed obniżeniem poziomu: upewnij się, że zasady zapory nie zawierają funkcji wyłącznie w wersji Premium (inspekcja protokołu TLS, tryb alertu i odmowy IDPS, filtrowanie adresów URL, kategorie stron internetowych).
  4. Na stronie Przegląd wybierz pozycję Zmień jednostkę SKU.
  5. W oknie dialogowym Zmiana jednostki SKU wybierz pozycję Standardowa jako docelową jednostkę SKU.
  6. Wybierz opcję zasad:
    • Wybierz istniejące zasady standardowe lub
    • Pozwól systemowi utworzyć nową politykę standardową (funkcje Premium są automatycznie usuwane)
  7. Wybierz pozycję Zapisz , aby rozpocząć obniżanie poziomu.

Proces zmiany jednostki SKU zwykle kończy się w ciągu kilku minut z zerowym przestojem.

Zrzut ekranu przedstawiający upgrade SKU.

Zmiana jednostki SKU programu PowerShell i programu Terraform

Możesz również wykonać zmiany jednostki SKU przy użyciu:

  • PowerShell: zmień sku_tier właściwość na "Premium" lub "Standardowa"
  • Terraform: zaktualizuj sku_tier atrybut w konfiguracji do wybranego SKU

Ograniczenia

Metoda łatwej zmiany jednostki SKU ma następujące ograniczenia:

Ogólne ograniczenia:

  • Nie obsługuje jednostki SKU Azure Firewall Basic — użytkownicy jednostki SKU Basic muszą najpierw przeprowadzić migrację do jednostki SKU Standard.
  • Niedostępne dla zapór z niektórymi złożonymi konfiguracjami
  • Ograniczona dostępność w niektórych regionach
  • Wymaga istniejącej polityki zapory (niedostępne dla reguł Classic)

Ograniczenia specyficzne dla obniżonej wersji:

  • Funkcje w warstwie Premium (inspekcja protokołu TLS, tryb alertu idPS i odmowy, filtrowanie adresów URL, kategorie sieci Web) należy usunąć przed obniżeniem poziomu
  • Jeśli zasady Premium zawierają niezgodne funkcje, należy zmodyfikować zasady lub utworzyć nowe zasady w warstwie Standardowa
  • Niektóre konfiguracje reguł mogą wymagać ręcznego dostosowania po obniżeniu poziomu

Jeśli metoda łatwej zmiany jednostki SKU nie jest dostępna w danym scenariuszu, użyj metody migracji ręcznej opisanej w następnej sekcji.

Metoda migracji ręcznej

Jeśli metoda łatwego uaktualnienia nie jest dostępna lub odpowiednia dla danego wdrożenia, możesz użyć metody migracji ręcznej. Takie podejście zapewnia większą kontrolę, ale wymaga przestoju.

Kiedy należy używać migracji ręcznej

Użyj migracji ręcznej, gdy:

  • Łatwa aktualizacja nie jest dostępna dla twojego scenariusza
  • Masz klasyczne reguły zapory, które wymagają migracji
  • Masz złożone konfiguracje niestandardowe
  • Potrzebna jest pełna kontrola nad procesem migracji
  • Zapora jest wdrażana w Azji Południowo-Wschodniej ze strefami dostępności

Zagadnienia dotyczące wydajności

Wydajność jest brana pod uwagę podczas migracji z Standardowego 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.

Zagadnienia dotyczące przestojów

Zaplanuj okno obsługi podczas korzystania z metody migracji ręcznej, ponieważ występuje pewien przestój (zazwyczaj 20–30 minut) podczas procesu zatrzymywania/uruchamiania.

Omówienie kroków migracji

W przypadku pomyślnej migracji ręcznej wymagane są następujące ogólne kroki:

  1. Tworzenie nowych zasad Premium na podstawie istniejących zasad standardowych lub reguł klasycznych
  2. Migrowanie usługi Azure Firewall z warstwy Standardowa do warstwy Premium przy użyciu zatrzymywania/uruchamiania
  3. Dołącz polisę Premium do zapory Premium

Krok 1. Migrowanie reguł klasycznych do zasad standardowych

Jeśli masz klasyczne reguły zapory, najpierw zmigruj je do zasad standardowych przy użyciu witryny Azure Portal:

  1. Na portalu Azure wybierz swoją standardową zaporę ogniową.
  2. Na stronie Przegląd wybierz pozycję Migruj do zasad zapory.
  3. Na stronie Migracja do zasady zapory wybierz pozycję Przejrzyj + utwórz.
  4. Wybierz Utwórz.

Ukończenie wdrożenia trwa kilka minut.

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

Krok 2. Tworzenie zasad Premium przy użyciu programu PowerShell

Użyj następującego skryptu programu PowerShell, aby utworzyć nowe zasady Premium na podstawie istniejących zasad w warstwie Standardowa:

Ważne

Skrypt nie migruje ustawień analizy zagrożeń i prywatnych zakresów SNAT. Należy pamiętać o tych ustawieniach przed kontynuowaniem i przeprowadzić ich migrację ręcznie.

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

Przykład użycia:

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

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

Jeśli korzystasz z Azure Firewall w wersji Standard z zasadami zapory, możesz użyć metody Alokacji/Dealokacji, aby przenieść swoją wersję SKU zapory do wersji Premium. Takie podejście do migracji jest obsługiwane zarówno na zaporach koncentratora sieci wirtualnej, jak i zaporach Secure Hub.

Uwaga / Notatka

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

Migracja zapory sieciowej koncentratora sieci wirtualnej

Zdealokuj standardową zaporę:

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

Przydziel zaporę 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 zaporę Premium (wiele 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

Przydziel zaporę 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

Migracja zapory sieciowej Secure Hub

Zdealokuj standardową zaporę:

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

Przydziel 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

Krok 4. Dołączanie zasad Premium

Po uaktualnieniu zapory do wersji Premium, zastosuj zasady Premium za pomocą Azure Portal.

  1. Przejdź do zapory Premium w witrynie Azure Portal.
  2. Na stronie Przegląd wybierz pozycję Polityka zapory.
  3. Wybierz nowo utworzone zasady Premium.
  4. Wybierz Zapisz.

Zrzut ekranu przedstawiający zasady zapory

Migracja narzędzia Terraform

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.

Rozwiązywanie problemów ze zmianą jednostki SKU

Typowe problemy i rozwiązania

  • Niedostępna łatwa zmiana jednostki SKU: użyj metody migracji ręcznej opisanej w tym artykule
  • Błędy migracji zasad: Upewnij się, że masz zainstalowane poprawne wersje modułu programu PowerShell
  • Przestój dłuższy niż oczekiwano: Sprawdź łączność sieciową i dostępność zasobów
  • Problemy z wydajnością po uaktualnieniu: Przejrzyj zagadnienia dotyczące wydajności i przeprowadź dokładne testowanie
  • Obniżenie zablokowane przez funkcje Premium: usuń lub wyłącz funkcje wyłączne dla Premium przed podjęciem próby obniżenia wersji

Rozwiązywanie problemów z przywracaniem starszej wersji

Jeśli nie możesz obniżyć wersji z warstwy Premium do warstwy Standardowa:

  1. Sprawdź funkcje premium: Zweryfikuj, czy zasady zapory nie zawierają:

    • Reguły inspekcji protokołu TLS
    • IdPS w trybie alertu i odmowy
    • Reguły filtrowania adresów URL
    • Reguły kategorii sieci Web
  2. Opcje modyfikacji zasad:

    • Utwórz nową politykę Standardową bez funkcji Premium
    • Modyfikowanie istniejących zasad w celu usunięcia funkcji Premium
    • Używanie programu Azure PowerShell do identyfikowania i usuwania niezgodnych reguł
  3. Kroki weryfikacji:

    # Check current firewall policy for Premium features
    $policy = Get-AzFirewallPolicy -ResourceGroupName "myResourceGroup" -Name "myPolicy"
    
    # Review policy settings for Premium features
    $policy.ThreatIntelMode
    $policy.IntrusionDetection
    $policy.TransportSecurity
    

Znane ograniczenia

  • Aktualizacja standardowej zapory wdrożonej w Azji Południowo-Wschodniej ze strefami dostępności nie jest obecnie obsługiwana dla migracji ręcznej.
  • Łatwa zmiana SKU nie obsługuje zapór ściennych dla SKU w warstwie Podstawowej — użytkownicy z podstawowej SKU muszą najpierw przeprowadzić migrację do SKU w warstwie Standardowej, zanim przystąpią do uaktualnienia do tej samej SKU w warstwie Premium
  • Niektóre konfiguracje niestandardowe mogą wymagać ręcznego podejścia do migracji
  • Obniżanie poziomu z aktywnymi funkcjami Premium kończy się niepowodzeniem, dopóki te funkcje nie zostaną usunięte

Dalsze kroki