Partilhar via


Alterar a SKU do Firewall do Azure

Este artigo mostra como alterar sua SKU do Firewall do Azure entre Standard e Premium. Você pode fazer upgrade de Standard para Premium para aproveitar os recursos de segurança aprimorados ou fazer downgrade de Premium para Standard quando esses recursos não forem mais necessários. O Firewall Premium do Azure fornece recursos avançados de proteção contra ameaças, incluindo IDPS, inspeção TLS e filtragem de URL.

Você pode alterar o SKU do firewall usando um dos dois métodos:

  • Método de alteração de SKU fácil (recomendado): atualização ou downgrade sem tempo de inatividade usando o portal do Azure, PowerShell ou Terraform
  • Método de migração manual: migração passo a passo para cenários complexos ou quando a alteração fácil de SKU não está disponível

Para obter mais informações sobre os recursos do Firewall do Azure Premium, consulte Recursos do Firewall do Azure Premium.

Pré-requisitos

Antes de começar, certifique-se de que tem:

  • Uma assinatura do Azure com uma implantação existente do Firewall do Azure
  • Permissões apropriadas para modificar recursos de firewall (função de Colaborador de Rede ou superior)
  • Módulo do Azure PowerShell versão 6.5.0 ou posterior (para métodos do PowerShell)
  • Uma janela de manutenção planeada (para o método de migração manual)

Importante

Este artigo aplica-se apenas às SKUs Standard e Premium da Firewall do Azure. A SKU Básica do Firewall do Azure não oferece suporte a alterações de SKU e deve ser migrada para a SKU Standard antes de qualquer atualização para Premium. Sempre execute operações de alteração de SKU durante os tempos de manutenção programados e teste o processo completamente em um ambiente que não seja de produção primeiro.

A maneira mais fácil de alterar sua SKU do Firewall do Azure com tempo de inatividade zero é usar o recurso Alterar SKU . Este método suporta tanto a atualização de Standard para Premium como o downgrade de Premium para Standard.

Quando utilizar a alteração fácil de SKU

Use o método de alteração de SKU fácil quando:

  • Você tem um Firewall do Azure com política de firewall (não regras clássicas)
  • Seu firewall é implantado em uma região suportada
  • Você deseja minimizar o tempo de inatividade (zero tempo de inatividade com este método)
  • Você tem uma implantação padrão sem configurações personalizadas complexas
  • Para redução: a sua apólice premium não utiliza funcionalidades exclusivas do premium que são incompatíveis com o padrão

Considerações de política para alterações de SKU

Atualize para Premium

Durante o processo de atualização, escolha como lidar com sua política de firewall:

  • Política Premium existente: selecione uma apólice Premium preexistente para anexar ao firewall atualizado
  • Política padrão existente: use sua política padrão atual. O sistema duplica automaticamente e atualiza-o para uma apólice Premium
  • Criar nova apólice Premium: Permita que o sistema crie uma nova apólice Premium com base na sua configuração atual

Rebaixar para Padrão

Ao fazer o downgrade de Premium para Standard, considere os seguintes requisitos de política:

Importante

Os recursos exclusivos Premium devem ser removidos ou desativados antes do downgrade para o Standard SKU.

Recursos premium a considerar antes do downgrade:

  • Inspeção TLS: desative as regras de inspeção TLS e remova os certificados associados
  • IDPS (Intrusion Detection and Prevention): Altere o modo IDPS de Alerta e Negar para Apenas Alerta ou Desligado
  • Filtragem de URL: substitua as regras de filtragem de URL pela filtragem FQDN sempre que possível
  • Categorias da Web: Remover ou substituir regras de categoria da Web por regras FQDN específicas

Opções de tratamento de políticas:

  • Usar a política Standard existente: selecione uma política Standard preexistente que não contenha recursos Premium
  • Criar nova apólice Padrão: O sistema pode criar uma nova apólice Padrão, removendo automaticamente recursos específicos do Premium
  • Modificar a política atual: remova manualmente os recursos Premium da sua política atual antes do downgrade

Alterar SKU usando o portal do Azure

Para alterar a SKU do firewall usando o portal do Azure:

Atualize para Premium

  1. Inicie sessão no portal Azure.
  2. Navegue até o recurso do Firewall do Azure.
  3. Na página Visão geral, selecione Alterar SKU.
  4. Na caixa de diálogo Alteração de SKU, selecione Premium como a SKU de destino.
  5. Escolha a opção da sua política:
    • Selecione uma apólice Premium existente ou
    • Permitir que o sistema atualize sua apólice Standard atual para Premium
  6. Selecione Salvar para iniciar a atualização.

Rebaixar para Padrão

  1. Inicie sessão no portal Azure.
  2. Navegue até o recurso do Firewall Premium do Azure.
  3. Antes do downgrade: verifique se sua política de firewall não contém recursos exclusivos Premium (inspeção TLS, modo de alerta e negação de IDPS, filtragem de URL, categorias da Web).
  4. Na página Visão geral, selecione Alterar SKU.
  5. Na caixa de diálogo Alteração de SKU, selecione Padrão como a SKU de destino.
  6. Escolha a opção da sua política:
    • Selecione uma política Standard existente ou
    • Permitir que o sistema crie uma nova apólice Standard (as funcionalidades Premium são removidas automaticamente)
  7. Selecione Salvar para iniciar o downgrade.

O processo de alteração de SKU normalmente é concluído em poucos minutos com zero tempo de inatividade.

Captura de tela mostrando a atualização de SKU.

Alteração de SKU do PowerShell e Terraform

Você também pode executar alterações de SKU usando:

  • PowerShell: Altere a sku_tier propriedade para "Premium" ou "Standard"
  • Terraform: atualize o sku_tier atributo em sua configuração para o SKU desejado

Limitações

O método de alteração fácil de SKU tem as seguintes limitações:

Limitações gerais:

  • Não suporta SKU Básico do Firewall do Azure - os usuários de SKU Básico devem migrar para o Standard primeiro
  • Não disponível para firewalls com determinadas configurações complexas
  • Disponibilidade limitada em algumas regiões
  • Requer uma política de firewall existente (não disponível para regras clássicas)

Limitações específicas do downgrade:

  • Recursos premium (inspeção TLS, modo de alerta e negação de IDPS, filtragem de URL, categorias da Web) devem ser removidos antes do downgrade
  • Se a sua apólice Premium contiver recursos incompatíveis, você deverá modificá-la ou criar uma nova apólice Standard
  • Algumas configurações de regras podem precisar de ajuste manual após o downgrade

Se o método de alteração de SKU fácil não estiver disponível para o seu cenário, use o método de migração manual descrito na próxima seção.

Método de migração manual

Se o método de atualização fácil não estiver disponível ou não for adequado para sua implantação, você poderá usar o método de migração manual. Essa abordagem fornece mais controle, mas requer tempo de inatividade.

Quando usar a migração manual

Use a migração manual quando:

  • A atualização fácil não está disponível para o seu cenário
  • Você tem regras de firewall clássicas que precisam de migração
  • Você tem configurações personalizadas complexas
  • Você precisa de controle total sobre o processo de migração
  • Seu firewall é implantado no Sudeste Asiático com zonas de disponibilidade

Considerações sobre desempenho

O desempenho é uma consideração ao migrar do SKU padrão. A inspeção IDPS e TLS são operações de computação intensiva. O SKU Premium usa um SKU de VM mais poderoso, que pode ser dimensionado para uma taxa de transferência mais alta, comparável ao SKU Padrão. Para obter mais informações sobre o Desempenho do Firewall do Azure, consulte Desempenho do Firewall do Azure.

A Microsoft recomenda que os clientes realizem testes completos em sua implantação do Azure para garantir que o desempenho do serviço de firewall atenda às suas expectativas.

Considerações sobre tempo de inatividade

Planeje uma janela de manutenção ao usar o método de migração manual, pois há algum tempo de inatividade (normalmente de 20 a 30 minutos) durante o processo de parada/inicialização.

Visão geral das etapas de migração

As seguintes etapas gerais são necessárias para uma migração manual bem-sucedida:

  1. Crie uma nova apólice Premium com base na sua apólice Standard ou regras clássicas existentes
  2. Migrar o Firewall do Azure do Standard para o Premium usando stop/start
  3. Anexe a política Premium ao seu Firewall Premium

Etapa 1: migrar regras clássicas para a política padrão

Se você tiver regras de firewall clássicas, primeiro migre-as para uma política padrão usando o portal do Azure:

  1. No portal do Azure, selecione seu firewall padrão.
  2. Na página Visão geral , selecione Migrar para a política de firewall.
  3. Na página Migrar para a política de firewall, selecione Revisar e criar.
  4. Selecione Criar.

A implantação leva alguns minutos para ser concluída.

Você também pode migrar regras Clássicas existentes usando o Azure PowerShell. Para obter mais informações, consulte Migrar configurações do Firewall do Azure para a política do Firewall do Azure usando o PowerShell.

Etapa 2: Criar política Premium usando o PowerShell

Use o seguinte script do PowerShell para criar uma nova política Premium a partir de uma política Standard existente:

Importante

O script não migra as configurações de Threat Intelligence e SNAT private ranges. Você precisa anotar essas configurações antes de prosseguir e migrá-las manualmente.

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

Exemplo de uso:

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

Etapa 3: Migrar o Firewall do Azure usando stop/start

Se utilizar o SKU do Azure Firewall Standard com a política de firewall, pode usar o método Allocate/Deallocate para migrar o seu SKU do Firewall para o Premium. Essa abordagem de migração é suportada no Hub de rede virtual e nos Firewalls do Secure Hub.

Observação

O requisito mínimo de versão do Azure PowerShell é 6.5.0. Para obter mais informações, consulte Az 6.5.0.

Migrar um Firewall de Hub de rede virtual

Desaloque o firewall padrão:

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

Alocar Firewall Premium (endereço IP público único):

$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

Alocar Firewall Premium (vários endereços IP públicos):

$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

Aloque o Firewall Premium no modo de túnel forçado:

$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

Migrar um firewall de hub seguro

Desaloque o firewall padrão:

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

Alocar o 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

Passo 4: Anexar apólice Premium

Depois de atualizar o firewall para Premium, anexe a política Premium usando o portal do Azure:

  1. Navegue até o firewall Premium no portal do Azure.
  2. Na página Visão geral , selecione Política de firewall.
  3. Selecione sua apólice Premium recém-criada.
  4. Selecione Guardar.

Captura de ecrã que mostra a política de firewall

Migração Terraforme

Se você usar o Terraform para implantar o Firewall do Azure, poderá usar o Terraform para migrar para o Azure Firewall Premium. Para obter mais informações, consulte Migrar o Firewall do Azure Standard para Premium usando o Terraform.

Solucionar problemas de alteração de SKU

Problemas e soluções comuns

  • Alteração fácil de SKU não disponível: use o método de migração manual descrito neste artigo
  • Erros de migração de política: verifique se você tem as versões corretas do módulo PowerShell instaladas
  • Tempo de inatividade maior do que o esperado: verifique a conectividade de rede e a disponibilidade de recursos
  • Problemas de desempenho após a atualização: analise as considerações de desempenho e realize testes completos
  • Downgrade bloqueado por funcionalidades Premium: Remova ou Desative funcionalidades exclusivas Premium antes de tentar fazer o downgrade

Solução de problemas de downgrade

Se você não conseguir fazer o downgrade de Premium para Standard:

  1. Verifique se há recursos Premium: verifique se sua política de firewall não contém:

    • Regras de inspeção TLS
    • IDPS no modo de alerta e negação
    • Regras de filtragem de URL
    • Regras de Categorias da Web
  2. Opções de modificação da política:

    • Crie uma nova apólice Standard sem recursos Premium
    • Modifique sua política existente para remover recursos Premium
    • Usar o Azure PowerShell para identificar e remover regras incompatíveis
  3. Etapas de validação:

    # 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
    

Limitações conhecidas

  • A atualização de um firewall padrão implantado no Sudeste Asiático com zonas de disponibilidade não é suportada atualmente para migração manual
  • A mudança de SKU fácil não suporta os firewalls de SKU Básico - os utilizadores com SKU Básico devem primeiro migrar para o SKU Padrão antes de atualizarem para o Premium.
  • Algumas configurações personalizadas podem exigir a abordagem de migração manual
  • O downgrade com recursos Premium ativos falha até que esses recursos sejam removidos

Próximos passos