Migrera till Azure Firewall Premium
Du kan migrera Azure Firewall Standard till Azure Firewall Premium för att dra nytta av de nya Premium-funktionerna. Mer information om Azure Firewall Premium-funktioner finns i Azure Firewall Premium-funktioner.
Den här artikeln vägleder dig med de steg som krävs för att migrera standardbrandväggen och principen till Premium manuellt.
Tips
Det enklaste sättet att ändra din Azure Firewall SKU utan stilleståndstid är att använda funktionen Ändra SKU. Mer information finns i Azure Firewall enkel uppgradering/nedgradering.
Innan du påbörjar migreringen bör du förstå prestandaövervägandena och planera i förväg för det nödvändiga underhållsfönstret. Typisk stilleståndstid på 20–30 minuter förväntas.
Följande allmänna steg krävs för en lyckad migrering:
- Skapa en ny Premium-princip baserat på din befintliga standardprincip eller klassiska regler. I slutet av det här steget kommer din nya premiumprincip att innehålla alla befintliga regler och principinställningar.
- Migrera Azure Firewall från Standard till Premium med stopp/start.
- Koppla den nyligen skapade Premium-principen till premiumbrandväggen.
Viktigt
Uppgradering av en standardbrandvägg som distribuerats i Sydostasien med Tillgänglighetszoner stöds inte för närvarande.
Om du använder Terraform för att distribuera Azure Firewall kan du använda Terraform för att migrera till Azure Firewall Premium. Mer information finns i Migrera Azure Firewall Standard till Premium med Terraform.
Saker att tänka på gällande prestanda
Prestanda är ett övervägande när du migrerar från standard-SKU:n. IDPS- och TLS-inspektion är beräkningsintensiva åtgärder. Premium-SKU:n använder en kraftfullare SKU för virtuella datorer, som skalas till ett högre dataflöde som är jämförbart med standard-SKU:n. Mer information om Azure Firewall prestanda finns i Azure Firewall Prestanda
Microsoft rekommenderar kunder att utföra fullskalig testning i sin Azure-distribution för att säkerställa att brandväggstjänstens prestanda uppfyller dina förväntningar.
Driftstopp
Migrera brandväggen under en planerad underhållstid, eftersom det uppstår en viss stilleståndstid när du migrerar Azure Firewall från Standard till Premium med stopp/start.
Migrera klassiska regler till standardprincip
Under migreringsprocessen kan du behöva migrera dina klassiska brandväggsregler till en Standard-princip. Du kan göra detta med hjälp av Azure Portal:
Välj standardbrandväggen i Azure Portal. På sidan Översikt väljer du Migrera till brandväggsprincip.
På sidan Migrera till brandväggsprincip väljer du Granska + skapa.
Välj Skapa.
Distributionen tar några minuter att slutföra.
Du kan också migrera befintliga klassiska regler från Azure Firewall med hjälp av Azure PowerShell för att skapa principer. Mer information finns i Migrera Azure Firewall konfigurationer till Azure Firewall princip med PowerShell
Migrera en befintlig princip med Azure PowerShell
Transform-Policy.ps1
är ett Azure PowerShell skript som skapar en ny Premium-princip från en befintlig Standard-princip.
Med ett standard-brandväggsprincip-ID omvandlar skriptet det till en Premium Azure-brandväggsprincip. Skriptet ansluter först till ditt Azure-konto, hämtar principen, transformerar/lägger till olika parametrar och laddar sedan upp en ny Premium-princip. Den nya premiumprincipen heter <previous_policy_name>_premium
. Om det är en underordnad principomvandling finns en länk till den överordnade principen kvar.
Användningsexempel:
Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name
Viktigt
Skriptet migrerar inte inställningar för hotinformation och privata SNAT-intervall. Du måste notera inställningarna innan du fortsätter och migrerar dem manuellt. Annars kan det uppstå inkonsekvent trafikfiltrering med den nya uppgraderade brandväggen.
Det här skriptet kräver den senaste Azure PowerShell. Kör Get-Module -ListAvailable Az
för att se vilka versioner som är installerade. Om du behöver installera kan du läsa Installera Azure PowerShell modul.
<#
.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
Migrera Azure Firewall med stop/start
Om du använder Azure Firewall Standard SKU med brandväggsprincip kan du använda metoden Allokera/frigör för att migrera brandväggs-SKU:n till Premium. Den här migreringsmetoden stöds på både VNet Hub och Secure Hub Firewalls. När du migrerar en secure hub-distribution bevaras brandväggens offentliga IP-adress.
Det minsta Azure PowerShell versionskravet är 6.5.0. Mer information finns i Az 6.5.0.
Migrera en VNET Hub-brandvägg
Frigör standardbrandväggen
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Allokera Firewall Premium (enskild offentlig IP-adress)
$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
Allokera Firewall Premium (flera offentliga IP-adresser)
$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
Allokera Firewall Premium i tvingad tunnelläge
$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
Migrera en secure hub-brandvägg
Frigör standardbrandväggen
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Allokera 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
Koppla en Premium-princip till en Premium-brandvägg
Du kan koppla en Premium-princip till den nya Premium-brandväggen med hjälp av Azure Portal:
Nästa steg
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för