Migrieren zu Azure Firewall Premium
Sie können Azure Firewall Standard zu Azure Firewall Premium migrieren, um von den neuen Premium-Funktionen zu profitieren. Weitere Informationen zu Azure Firewall Premium-Features finden Sie unter Features von Azure Firewall Premium.
In diesem Artikel werden die erforderlichen Schritte zum manuellen Migrieren Ihrer Firewall und Richtlinie von „Standard“ zu „Premium“ beschrieben.
Tipp
Die einfachste Möglichkeit, Ihre Azure Firewall-SKU ohne Ausfallzeit zu ändern, ist die Verwendung des Features SKU ändern. Weitere Informationen finden Sie unter Einfaches Upgraden/Downgraden von Azure Firewall.
Machen Sie sich vor der Migration mit den Leistungsaspekten vertraut, und planen Sie das erforderliche Wartungsfenster. In der Regel wird eine Downtime von 20 bis 30 Minuten erwartet.
Für eine erfolgreiche Migration sind die folgenden allgemeinen Schritte erforderlich:
- Erstellen Sie neue Premium-Richtlinie basierend auf Ihrer vorhandenen Standard-Richtlinie oder den klassischen Regeln. Am Ende dieses Schritts enthält Ihre neue Premium-Richtlinie alle vorhandenen Regeln und Richtlinieneinstellungen.
- Migrieren von Azure Firewall von Standard zu Premium mithilfe von Beenden/Starten
- Anfügen der neu erstellten Premium-Richtlinie an eine Premium-Firewall
Wichtig
Das Upgraden einer Standardfirewall, die in „Asien, Südosten“ mit Verfügbarkeitszonen bereitgestellt wurde, wird derzeit nicht unterstützt.
Wenn Sie Terraform für die Bereitstellung der Azure Firewall verwenden, können Sie Terraform für die Migration zu Azure Firewall Premium nutzen. Weitere Informationen finden Sie unter „Migrieren Sie Azure Firewall Standard zu Premium mit Terraform“.
Überlegungen zur Leistung
Die Leistung ist ein Aspekt bei der Migration von der Standard-SKU. IDPS und TLS-Inspektion sind rechenintensive Vorgänge. Die Premium-SKU verwendet eine leistungsfähigere VM-SKU, die auf einen höheren Durchsatz als bei der Standard-SKU skaliert wird. Weitere Informationen zur Azure Firewall-Leistung finden Sie unter Azure Firewall-Leistung.
Microsoft empfiehlt seiner Kundschaft, vollständige Skalierungstests in ihrer Azure-Bereitstellung durchzuführen, um sicherzustellen, dass die Leistung des Firewalldiensts den Erwartungen entspricht.
Ausfallzeit
Migrieren Sie Ihre Firewall während einer geplanten Wartungszeit, da es bei der Migrieren von Azure Firewall von Standard zu Premium mithilfe von Beenden/Starten zu Ausfallzeiten kommen wird.
Migrieren klassischer Regeln zur Standardrichtlinie
Während des Migrationsprozesses müssen möglicherweise die klassischen Firewallregeln zu einer Standardrichtlinie migriert werden. Sie können hierfür das Azure-Portal verwenden:
Wählen Sie im Azure-Portal Ihre Standardfirewall aus. Wählen Sie auf der Seite Übersicht die Option zum Migrieren zur Firewallrichtlinie aus.
Wählen Sie auf der Seite Migrieren zur Firewallrichtlinie die Option Überprüfen und erstellen aus.
Klicken Sie auf Erstellen.
Die Bereitstellung dauert einige Minuten.
Darüber hinaus können bereits vorhandene klassische Regeln mithilfe von Azure PowerShell aus Azure Firewall migriert werden, um Richtlinien zu erstellen. Weitere Informationen finden Sie unter Migrieren von Azure Firewall-Konfigurationen zu einer Azure Firewall-Richtlinie mithilfe von Azure PowerShell
Migrieren einer vorhandenen Richtlinie mithilfe von Azure PowerShell
Transform-Policy.ps1
ist ein Azure PowerShell-Skript, das eine neue Premiumrichtlinie aus einer vorhandenen Standardrichtlinie erstellt.
Angesichts einer Standard-Firewallrichtlinien-ID wandelt das Skript diese in eine Premium-Richtlinie für Azure Firewall um. Das Skript stellt zunächst eine Verbindung mit Ihrem Azure-Konto her, pullt die Richtlinie, transformiert verschiedene Parameter oder fügt diese hinzu und lädt dann eine neue Premiumrichtlinie hoch. Die neue Premiumrichtlinie hat den Namen <previous_policy_name>_premium
. Wenn es sich um eine untergeordnete Richtlinientransformation handelt, bleibt ein Link zur übergeordneten Richtlinie erhalten.
Verwendungsbeispiel:
Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name
Wichtig
Das Skript migriert keine Einstellungen für Threat Intelligence und private SNAT-Bereiche. Sie müssen sich diese Einstellungen notieren, bevor Sie fortfahren und sie manuell migrieren. Andernfalls kann es bei der neuen aktualisierten Firewall zu inkonsistenter Datenverkehrsfilterung kommen.
Dieses Skript erfordert die aktuelle Azure PowerShell-Version. Führen Sie Get-Module -ListAvailable Az
aus, um die installierten Versionen zu ermitteln. Wenn Sie die Installation ausführen müssen, finden Sie unter Installieren des Azure PowerShell-Moduls Informationen dazu.
<#
.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
Migrieren von Azure Firewall mithilfe von Beenden/Starten
Wenn Sie eine Standard-SKU von Azure Firewall mit Firewallrichtlinie verwenden, können Sie die Methode Zuordnen/Zuordnung aufheben verwenden, um Ihre Firewall-SKU zu Premium zu migrieren. Dieser Migrationsansatz wird sowohl für VNET Hub-Firewalls als auch für Secure Hub-Firewalls unterstützt. Beim Migrieren einer Secure Hub-Bereitstellung, wird die öffentliche IP-Adresse der Firewall beibehalten.
Mindestanforderung ist Azure PowerShell Version 6.5.0. Weitere Informationen finden Sie unter Az 6.5.0.
Migrieren einer VNET Hub-Firewall
Heben Sie die Zuordnung der Standardfirewall auf
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Zuordnen von Firewall Premium (einzelne öffentliche IP-Adresse)
$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
Zuordnen von Firewall Premium (mehrere öffentliche 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
Zuordnen von Firewall Premium im Modus „Tunnelerzwingung“
$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
Migrieren einer Secure Hub-Firewall
Heben Sie die Zuordnung der Standardfirewall auf
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Ordnen Sie Firewall Premium zu
$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
Anfügen einer Premium-Richtlinie an eine Premium-Firewall
Sie können über das Azure-Portal eine Premium-Richtlinie an die neue Premium-Firewall anfügen: