Migrálás prémium szintű Azure Firewallra
Az Azure Firewall Standardot az Azure Firewall Premiumba migrálhatja, hogy kihasználhassa az új Prémium képességek előnyeit. Az Azure Firewall Premium funkcióival kapcsolatos további információkért tekintse meg az Azure Firewall Premium funkcióit.
Ez a cikk bemutatja a standard tűzfal és szabályzat Premiumba történő manuális migrálásához szükséges lépéseket.
Tipp.
Az Azure Firewall termékváltozatának állásidő nélküli módosításának legegyszerűbb módja a Termékváltozat módosítása funkció használata. További információkért lásd az Azure Firewall egyszerű frissítését/leminősítését.
A migrálás megkezdése előtt ismerje meg a teljesítmény szempontjait , és tervezze meg előre a szükséges karbantartási időszakot. Általában 20–30 perces leállási idő várható.
A sikeres migráláshoz a következő általános lépések szükségesek:
- Hozzon létre új Prémium szabályzatot a meglévő Standard vagy klasszikus szabályok alapján. A lépés végére az új prémium szintű szabályzat tartalmazza az összes meglévő szabályt és házirend-beállítást.
- Az Azure Firewall áttelepítése Standardról Prémium verzióra stop/start használatával.
- Csatolja az újonnan létrehozott Prémium szabályzatot a Prémium tűzfalhoz.
Fontos
A Délkelet-Ázsiában üzembe helyezett standard tűzfal rendelkezésre állási zónákkal való frissítése jelenleg nem támogatott.
Ha a Terraformot használja az Azure Firewall üzembe helyezéséhez, a Terraform használatával migrálhat az Azure Firewall Premiumba. További információ: Azure Firewall Standard migrálása prémium szintűre a Terraform használatával.
A teljesítménnyel kapcsolatos megfontolások
A teljesítmény a standard termékváltozatból való migráláskor fontos szempont. Az IDPS és a TLS-ellenőrzés nagy számítási igényű műveletek. A prémium termékváltozat egy nagyobb teljesítményű virtuálisgép-termékváltozatot használ, amely a standard termékváltozathoz hasonló nagyobb átviteli sebességre skálázható. Az Azure Firewall teljesítményével kapcsolatos további információkért lásd: Azure Firewall Performance
A Microsoft azt javasolja az ügyfeleknek, hogy teljes körű tesztelést végezzenek azure-beli üzemelő példányukban, hogy a tűzfalszolgáltatás teljesítménye megfeleljen az elvárásainak.
Leállás
A tűzfalat tervezett karbantartási idő alatt migrálhatja, mivel az Azure Firewall standardról prémium szintűre történő migrálása leállási/indítási idő lesz.
Klasszikus szabályok migrálása standard házirendbe
A migrálási folyamat során előfordulhat, hogy a klasszikus tűzfalszabályokat standard házirendbe kell migrálnia. Ezt az Azure Portalon teheti meg:
Az Azure Portalon válassza ki a szabványos tűzfalat. Az Áttekintés lapon válassza az Áttelepítés tűzfalszabályzatba lehetőséget.
Az Áttelepítés tűzfalházirendbe lapon válassza a Véleményezés + létrehozás lehetőséget.
Válassza a Létrehozás lehetőséget.
Az üzembe helyezés végrehajtása néhány percet vesz igénybe.
A meglévő klasszikus szabályokat az Azure Firewallról is migrálhatja az Azure PowerShell használatával szabályzatok létrehozásához. További információ: Azure Firewall-konfigurációk migrálása Azure Firewall-szabályzatba a PowerShell használatával
Meglévő szabályzat migrálása az Azure PowerShell használatával
Transform-Policy.ps1
Egy Azure PowerShell-szkript, amely egy új Prémium szabályzatot hoz létre egy meglévő Standard szabályzatból.
A szabványos tűzfalszabályzat-azonosítót használva a szkript prémium szintű Azure-tűzfalszabályzattá alakítja át. A szkript először csatlakozik az Azure-fiókjához, lekéri a szabályzatot, átalakítja/hozzáadja a különböző paramétereket, majd feltölt egy új Premium-szabályzatot. Az új prémium szintű szabályzat neve <previous_policy_name>_premium
. Ha gyermekszabályzat-átalakításról van szó, a szülőházirendre mutató hivatkozás megmarad.
Használati példa:
Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name
Fontos
A szkript nem migrálja a Threat Intelligence és az SNAT privát tartományok beállításait. Ezeket a beállításokat a folytatás előtt fel kell jegyeznie, és manuálisan kell áttelepítenie őket. Ellenkező esetben inkonzisztens forgalomszűrést tapasztalhat az új frissített tűzfallal.
Ehhez a szkripthez a legújabb Azure PowerShell szükséges. Futtassa Get-Module -ListAvailable Az
a telepített verziókat. Ha telepítenie kell, tekintse meg az Azure PowerShell-modul telepítését ismertető témakört.
<#
.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
$ruleToTransform = Get-AzFirewallPolicyRuleCollectionGroup -AzureFirewallPolicy $Policy -Name $ruleResource.Name
$ruleCollectionGroup = @{
FirewallPolicyObject = $premiumPolicy
Priority = $ruleToTransform.Properties.Priority
Name = $ruleToTransform.Name
}
if ($ruleToTransform.Properties.RuleCollection.Count) {
$ruleCollectionGroup["RuleCollection"] = $ruleToTransform.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 migrálása stop/start használatával
Ha az Azure Firewall Standard termékváltozatot tűzfalszabályzattal használja, a Kiosztás/felszabadítás metódussal migrálhatja a tűzfal termékváltozatát Prémium verzióba. Ez a migrálási módszer a VNet Hubon és a Secure Hub tűzfalakon is támogatott. A Secure Hub-telepítés migrálásakor a rendszer megőrzi a tűzfal nyilvános IP-címét.
Az Azure PowerShell minimális verziókövetelménye a 6.5.0. További információ: Az 6.5.0.
VNET Hub tűzfal migrálása
A standard tűzfal felszabadítása
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Premium tűzfal lefoglalása (egyetlen nyilvános IP-cím)
$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
Premium tűzfal lefoglalása (több nyilvános IP-cím)
$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
Premium tűzfal lefoglalása kényszerített alagút módban
$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
Biztonságos központ tűzfalának migrálása
A standard tűzfal felszabadítása
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Premium tűzfal lefoglalása
$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
Prémium szintű szabályzat csatolása prémium szintű tűzfalhoz
Prémium szintű szabályzatot csatolhat az új Prémium tűzfalhoz az Azure Portal használatával: