Migrar para o Azure Firewall Premium
Pode migrar Azure Firewall Standard para Azure Firewall Premium para tirar partido das novas capacidades Premium. Para obter mais informações sobre as funcionalidades Azure Firewall Premium, veja funcionalidades do Azure Firewall Premium.
Este artigo orienta-o com os passos necessários para migrar manualmente a firewall e a política Standard para Premium.
Dica
A forma mais fácil de alterar o SKU Azure Firewall sem tempo de inatividade é utilizar a funcionalidade Alterar SKU. Para obter mais informações, veja Azure Firewall atualização/mudança fácil para uma versão anterior.
Antes de iniciar a migração, compreenda as considerações de desempenho e planeie antecipadamente a janela de manutenção necessária. É esperado um tempo de inatividade típico de 20 a 30 minutos.
São necessários os seguintes passos gerais para uma migração bem-sucedida:
- Crie uma nova política Premium com base na política Standard existente ou nas regras clássicas. No final deste passo, a nova política premium incluirá todas as regras e definições de política existentes.
- Migre Azure Firewall de Standard para Premium com stop/start.
- Anexe a política Premium recentemente criada à Firewall Premium.
Importante
A atualização de uma Firewall Standard implementada no Sudeste Asiático com Zonas de Disponibilidade não é atualmente suportada.
Se utilizar o Terraform para implementar o Azure Firewall, pode utilizar o Terraform para migrar para o Azure Firewall Premium. Para obter mais informações, veja Migrar Azure Firewall Standard para Premium com o Terraform.
Considerações de desempenho
O desempenho é uma consideração ao migrar do SKU padrão. A inspeção do IDPS e do TLS são operações de computação intensiva. O SKU premium utiliza um SKU de VM mais potente, que dimensiona para um débito mais elevado comparável ao SKU padrão. Para obter mais informações sobre o Desempenho do Azure Firewall, veja Desempenho do Azure Firewall
A Microsoft recomenda que os clientes realizem testes em larga escala na implementação do Azure para garantir que o desempenho do serviço de firewall satisfaz as suas expectativas.
Tempo de inatividade
Migre a firewall durante um período de manutenção planeado, uma vez que haverá algum tempo de inatividade quando migrar Azure Firewall de Standard para Premium com stop/start.
Migrar regras clássicas para a política Standard
Durante o processo de migração, poderá ter de migrar as regras de firewall clássicas para uma política Standard. Pode fazê-lo com o portal do Azure:
Na portal do Azure, selecione a firewall padrão. Na página Descrição geral , selecione Migrar para a política de firewall.
Na página Migrar para a política de firewall, selecioneRever + criar.
Selecione Criar.
A implementação demora alguns minutos a ser concluída.
Também pode migrar regras clássicas existentes de Azure Firewall através de Azure PowerShell para criar políticas. Para obter mais informações, veja Migrate Azure Firewall configurations to Azure Firewall policy using PowerShell (Migrar configurações de Azure Firewall para Azure Firewall política com o PowerShell)
Migrar uma política existente com Azure PowerShell
Transform-Policy.ps1
é um script Azure PowerShell que cria uma nova política Premium a partir de uma política Standard existente.
Tendo em conta um ID de política de firewall padrão, o script transforma-o numa política de firewall do Azure Premium. O script liga-se primeiro à sua conta do Azure, extrai a política, transforma/adiciona vários parâmetros e, em seguida, carrega uma nova política Premium. A nova política premium chama-se <previous_policy_name>_premium
. Se for uma transformação de política subordinada, permanecerá uma ligação para a política principal.
Exemplo de utilização:
Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name
Importante
O script não migra as definições de intervalos privados de Informações sobre Ameaças e SNAT. Terá de anotar essas definições antes de continuar e migrá-las manualmente. Caso contrário, poderá encontrar uma filtragem de tráfego inconsistente com a nova firewall atualizada.
Este script requer a Azure PowerShell mais recente. Execute Get-Module -ListAvailable Az
para ver que versões estão instaladas. Se precisar de instalar, veja Instalar Azure PowerShell módulo.
<#
.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
Migrar Azure Firewall com parar/iniciar
Se utilizar Azure Firewall SKU Standard com a política de firewall, pode utilizar o método Allocate/Deallocate para migrar o SKU da Firewall para Premium. Esta abordagem de migração é suportada no Hub VNet e nas Firewalls do Hub Seguro. Ao migrar uma implementação do Hub Seguro, esta irá preservar o endereço IP público da firewall.
O requisito mínimo Azure PowerShell versão é 6.5.0. Para obter mais informações, consulte Az 6.5.0.
Migrar uma Firewall do Hub VNET
Desalocar a Firewall Standard
$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
Alocar 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 uma Firewall do Hub Seguro
Desalocar a Firewall Standard
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Alocar 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
Anexar uma política Premium a uma Firewall Premium
Pode anexar uma política Premium à nova Firewall Premium com o portal do Azure:
Passos seguintes
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários