Migrace na Azure Firewall Premium
Můžete migrovat Azure Firewall Standard do Azure Firewall Premium, abyste mohli využívat nové funkce Premium. Další informace o funkcích Azure Firewall Premium najdete v tématu funkce Azure Firewall Premium.
Tento článek vás provede požadovanými kroky pro ruční migraci standardní brány firewall a zásad na premium.
Tip
Nejjednodušší způsob, jak změnit skladovou položku Azure Firewall bez výpadků, je použít funkci Změnit skladovou položku. Další informace najdete v tématu Azure Firewall snadný upgrade nebo downgrade.
Než začnete s migrací, seznamte se s aspekty výkonu a naplánujte si předem požadované časové období údržby. Očekává se typická doba výpadku 20 až 30 minut.
Pro úspěšnou migraci jsou vyžadovány následující obecné kroky:
- Vytvořte nové zásady Premium na základě vašich stávajících zásad Standard nebo klasických pravidel. Na konci tohoto kroku budou vaše nové prémiové zásady zahrnovat všechna vaše stávající pravidla a nastavení zásad.
- Migrace Azure Firewall ze standardu na premium pomocí funkce stop/start
- Připojte nově vytvořenou zásadu Premium k bráně firewall úrovně Premium.
Důležité
Upgrade standardní brány firewall nasazené v jihovýchodní Asii pomocí Zóny dostupnosti se v současné době nepodporuje.
Pokud k nasazení Azure Firewall použijete Terraform, můžete ho použít k migraci na Azure Firewall Premium. Další informace najdete v tématu Migrace Azure Firewall Standard na verzi Premium pomocí Terraformu.
Otázky výkonu
Při migraci ze standardní skladové položky je potřeba vzít v úvahu výkon. Kontrola IDPS a TLS jsou operace náročné na výpočetní výkon. Skladová položka Premium používá výkonnější skladovou položku virtuálního počítače, která se škáluje na vyšší propustnost srovnatelnou se skladovou položkou Standard. Další informace o výkonu Azure Firewall najdete v tématu Výkon Azure Firewall.
Microsoft doporučuje zákazníkům provádět v nasazení Azure úplné testování, aby se zajistilo, že výkon služby firewall splňuje vaše očekávání.
Výpadek
Během plánované údržby migrujte bránu firewall, protože při migraci Azure Firewall ze standardu na premium pomocí funkce stop/start dojde k určitému výpadku.
Migrace klasických pravidel na zásady Standard
Během procesu migrace může být potřeba migrovat klasická pravidla brány firewall na zásady Standard. Můžete to udělat pomocí Azure Portal:
V Azure Portal vyberte standardní bránu firewall. Na stránce Přehled vyberte Migrovat na zásady brány firewall.
Na stránce Migrovat na zásady brány firewall vyberte Zkontrolovat a vytvořit.
Vyberte Vytvořit.
Dokončení nasazení trvá několik minut.
Můžete také migrovat stávající klasická pravidla z Azure Firewall pomocí Azure PowerShell a vytvářet zásady. Další informace najdete v tématu Migrace konfigurací Azure Firewall do zásad Azure Firewall pomocí PowerShellu.
Migrace existujících zásad pomocí Azure PowerShell
Transform-Policy.ps1
je Azure PowerShell skript, který vytvoří novou zásadu Premium z existujících zásad úrovně Standard.
Vzhledem ke standardnímu ID zásad brány firewall ho skript transformuje na zásady služby Azure Firewall úrovně Premium. Skript se nejprve připojí k vašemu účtu Azure, načte zásady, transformuje nebo přidá různé parametry a pak nahraje novou zásadu Premium. Nová zásada Premium má název <previous_policy_name>_premium
. Pokud se jedná o transformaci podřízených zásad, odkaz na nadřazenou zásadu zůstane.
Příklad použití:
Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name
Důležité
Skript nemigruje nastavení analýzy hrozeb a privátních rozsahů SNAT. Než budete pokračovat, budete si muset tato nastavení poznamenat a migrovat je ručně. V opačném případě může dojít k nekonzistentnímu filtrování provozu s novou upgradovanou bránou firewall.
Tento skript vyžaduje nejnovější Azure PowerShell. Spuštěním příkazu Get-Module -ListAvailable Az
zjistíte, které verze jsou nainstalované. Pokud potřebujete instalaci, přečtěte si téma Instalace modulu 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
$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
Migrace Azure Firewall pomocí funkce stop/start
Pokud používáte skladovou položku Azure Firewall Standard se zásadami brány firewall, můžete k migraci skladové položky brány firewall na Premium použít metodu Allocate/Deallocate. Tento přístup k migraci se podporuje ve službě VNet Hub i v bránách firewall zabezpečeného centra. Při migraci nasazení služby Secure Hub se zachová veřejná IP adresa brány firewall.
Minimální Azure PowerShell požadavek na verzi je 6.5.0. Další informace najdete v tématu Az 6.5.0.
Migrace brány firewall centra virtuální sítě
Zrušení přidělení standardní brány firewall
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Přidělení brány firewall Premium (jedna veřejná IP adresa)
$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
Přidělení brány firewall Premium (několik veřejných IP adres)
$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
Přidělení brány firewall Premium v režimu vynucených tunelů
$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
Migrace brány firewall zabezpečeného centra
Zrušení přidělení standardní brány firewall
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Přidělení brány 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
Připojení zásad Premium k bráně firewall úrovně Premium
Zásady Premium můžete k nové bráně Premium Firewall připojit pomocí Azure Portal: