Migreren naar Azure Firewall Premium
U kunt Azure Firewall Standard migreren naar Azure Firewall Premium om te profiteren van de nieuwe Premium-mogelijkheden. Zie Azure Firewall Premium-functies voor meer informatie over Azure Firewall Premium-functies.
In dit artikel wordt u begeleid bij de vereiste stappen voor het handmatig migreren van uw Standard-firewall en -beleid naar Premium.
Tip
De eenvoudigste manier om uw Azure Firewall-SKU zonder uitvaltijd te wijzigen, is door de functie Change SKU te gebruiken. Zie Voor meer informatie azure Firewall eenvoudig upgraden/downgraden.
Voordat u de migratie start, moet u de prestatieoverwegingen begrijpen en vooruit plannen voor het vereiste onderhoudsvenster. Typische uitvalttijd van 20-30 minuten wordt verwacht.
De volgende algemene stappen zijn vereist voor een geslaagde migratie:
- Maak een nieuw Premium-beleid op basis van uw bestaande Standard-beleid of klassieke regels. Aan het einde van deze stap bevat uw nieuwe premiumbeleid al uw bestaande regels en beleidsinstellingen.
- Migreer Azure Firewall van Standard naar Premium met behulp van stop/start.
- Koppel het zojuist gemaakte Premium-beleid aan uw Premium Firewall.
Belangrijk
Het upgraden van een Standard Firewall die is geïmplementeerd in Zuidoost-Azië met Beschikbaarheidszones wordt momenteel niet ondersteund.
Als u Terraform gebruikt om de Azure Firewall te implementeren, kunt u Terraform gebruiken om te migreren naar Azure Firewall Premium. Zie Azure Firewall Standard migreren naar Premium met behulp van Terraform voor meer informatie.
Prestatieoverwegingen
Prestaties zijn een overweging bij het migreren van de standaard-SKU. IDPS- en TLS-inspectie zijn rekenintensieve bewerkingen. De premium-SKU maakt gebruik van een krachtigere VM-SKU, die wordt geschaald naar een hogere doorvoer die vergelijkbaar is met de standaard-SKU. Zie De prestaties van Azure Firewall voor meer informatie over de prestaties van Azure Firewall
Microsoft raadt klanten aan om op volledige schaal tests uit te voeren in hun Azure-implementatie om ervoor te zorgen dat de prestaties van de firewallservice voldoen aan uw verwachtingen.
Uitvaltijd
Migreer uw firewall tijdens een gepland onderhoud, omdat er enige downtime is wanneer u Azure Firewall migreert van Standard naar Premium met behulp van stop/start.
Klassieke regels migreren naar standaardbeleid
Tijdens het migratieproces moet u mogelijk uw klassieke firewallregels migreren naar een standaardbeleid. U kunt dit doen met behulp van Azure Portal:
Selecteer uw standaardfirewall in Azure Portal. Selecteer Migreren naar firewallbeleid op de pagina Overzicht.
Selecteer Beoordelen en maken op de pagina Migreren naar firewallbeleid.
Selecteer Maken.
Het duurt enkele minuten om de implementatie te voltooien.
U kunt ook bestaande klassieke regels migreren vanuit Azure Firewall met behulp van Azure PowerShell om beleid te maken. Zie Azure Firewall-configuraties migreren naar Azure Firewall-beleid met behulp van PowerShell voor meer informatie
Een bestaand beleid migreren met behulp van Azure PowerShell
Transform-Policy.ps1
is een Azure PowerShell-script waarmee een nieuw Premium-beleid wordt gemaakt op basis van een bestaand Standard-beleid.
Gezien een standaard-firewallbeleids-id, transformeert het script het naar een Premium Azure-firewallbeleid. Het script maakt eerst verbinding met uw Azure-account, haalt het beleid op, transformeert/voegt verschillende parameters toe en uploadt vervolgens een nieuw Premium-beleid. Het nieuwe premium-beleid heeft de naam <previous_policy_name>_premium
. Als het een onderliggende beleidstransformatie is, blijft een koppeling naar het bovenliggende beleid behouden.
Voorbeeld van syntaxis:
Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name
Belangrijk
Met het script worden instellingen voor bedreigingsinformatie en SNAT-privébereiken niet gemigreerd. U moet deze instellingen noteren voordat u doorgaat en ze handmatig migreert. Anders kan het zijn dat er inconsistente verkeersfilters optreden met uw nieuwe bijgewerkte firewall.
Voor dit script is de nieuwste Azure PowerShell vereist. Voer Get-Module -ListAvailable Az
uit om te zien welke versies zijn geïnstalleerd. Als u PowerShell moet installeren, raadpleegt u De Azure PowerShell-module installeren.
<#
.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
Azure Firewall migreren met behulp van stoppen/starten
Als u Azure Firewall Standard SKU met firewallbeleid gebruikt, kunt u de methode Toewijzen/toewijzing ongedaan maken gebruiken om uw firewall-SKU te migreren naar Premium. Deze migratiebenadering wordt ondersteund op zowel VNet Hub- als Secure Hub-firewalls. Wanneer u een Secure Hub-implementatie migreert, blijft het openbare IP-adres van de firewall behouden.
De minimale versievereiste voor Azure PowerShell is 6.5.0. Zie Az 6.5.0 voor meer informatie.
Een VNET Hub-firewall migreren
De toewijzing van de Standard-firewall ongedaan maken
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Firewall Premium toewijzen (één openbaar IP-adres)
$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
Firewall Premium toewijzen (meerdere openbare IP-adressen)
$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
Firewall Premium toewijzen in modus geforceerde tunnel
$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
Een Secure Hub Firewall migreren
De toewijzing van de Standard-firewall ongedaan maken
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Firewall Premium toewijzen
$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
Een Premium-beleid koppelen aan een Premium-firewall
U kunt een Premium-beleid koppelen aan de nieuwe Premium Firewall met behulp van Azure Portal: