Migrowanie do usługi Azure Firewall Premium
Możesz przeprowadzić migrację Azure Firewall w warstwie Standardowa do Azure Firewall Premium, aby skorzystać z nowych funkcji Premium. Aby uzyskać więcej informacji na temat funkcji Azure Firewall Premium, zobacz funkcje Azure Firewall Premium.
W tym artykule opisano kroki wymagane do ręcznego migrowania standardowej zapory i zasad do warstwy Premium.
Porada
Najprostszym sposobem zmiany jednostki SKU Azure Firewall bez przestoju jest użycie funkcji Zmień jednostkę SKU. Aby uzyskać więcej informacji, zobacz Azure Firewall łatwe uaktualnianie/obniżanie poziomu.
Przed rozpoczęciem migracji zapoznaj się z zagadnieniami dotyczącymi wydajności i planowaniem przed wymaganym oknem obsługi. Oczekiwany jest typowy czas przestoju 20–30 minut.
Następujące ogólne kroki są wymagane do pomyślnej migracji:
- Utwórz nowe zasady Premium na podstawie istniejących zasad standardowych lub reguł klasycznych. Po zakończeniu tego kroku nowe zasady w warstwie Premium będą zawierać wszystkie istniejące reguły i ustawienia zasad.
- Migrowanie Azure Firewall z warstwy Standardowa do warstwy Premium przy użyciu zatrzymywania/uruchamiania.
- Dołącz nowo utworzone zasady Premium do zapory Premium.
Ważne
Uaktualnianie standardowej zapory wdrożonej w Azji Południowo-Wschodniej z Strefy dostępności nie jest obecnie obsługiwane.
Jeśli używasz narzędzia Terraform do wdrożenia Azure Firewall, możesz użyć narzędzia Terraform do migracji do usługi Azure Firewall Premium. Aby uzyskać więcej informacji, zobacz Migrowanie Azure Firewall Standard do warstwy Premium przy użyciu narzędzia Terraform.
Zagadnienia dotyczące wydajności
Wydajność jest brana pod uwagę podczas migracji ze standardowej jednostki SKU. Inspekcja protokołu IDPS i TLS to operacje intensywnie korzystające z obliczeń. Jednostka SKU w warstwie Premium korzysta z bardziej wydajnej jednostki SKU maszyny wirtualnej, która jest skalowana do wyższej przepływności porównywalnej ze standardową jednostkę SKU. Aby uzyskać więcej informacji na temat wydajności Azure Firewall, zobacz Azure Firewall Wydajność
Firma Microsoft zaleca klientom wykonywanie testów na pełną skalę we wdrożeniu platformy Azure w celu zapewnienia, że wydajność usługi zapory spełnia Twoje oczekiwania.
Downtime (Przestoje)
Przeprowadź migrację zapory podczas planowanej konserwacji, ponieważ podczas migracji Azure Firewall z warstwy Standardowa do warstwy Premium nastąpi pewien przestój przy użyciu zatrzymania/uruchomienia.
Migrowanie reguł klasycznych do zasad standardowych
Podczas procesu migracji może być konieczne przeprowadzenie migracji klasycznych reguł zapory do zasad standardowych. Można to zrobić za pomocą Azure Portal:
W Azure Portal wybierz standardową zaporę. Na stronie Przegląd wybierz pozycję Migrowanie do zasad zapory.
Na stronie Zasady migracji do zapory wybierz pozycję Przejrzyj i utwórz.
Wybierz przycisk Utwórz.
Ukończenie wdrożenia trwa kilka minut.
Możesz również migrować istniejące reguły klasyczne z Azure Firewall przy użyciu Azure PowerShell do tworzenia zasad. Aby uzyskać więcej informacji, zobacz Migrowanie konfiguracji Azure Firewall do zasad Azure Firewall przy użyciu programu PowerShell
Migrowanie istniejących zasad przy użyciu Azure PowerShell
Transform-Policy.ps1
to skrypt Azure PowerShell, który tworzy nowe zasady Premium z istniejących zasad w warstwie Standardowa.
Biorąc pod uwagę standardowy identyfikator zasad zapory, skrypt przekształca go w zasady zapory Platformy Azure w warstwie Premium. Skrypt najpierw łączy się z kontem platformy Azure, ściąga zasady, przekształca/dodaje różne parametry, a następnie przekazuje nowe zasady w warstwie Premium. Nowe zasady w warstwie Premium nosi nazwę <previous_policy_name>_premium
. Jeśli jest to przekształcenie zasad podrzędnych, pozostanie link do zasad nadrzędnych.
Przykład użycia:
Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name
Ważne
Skrypt nie migruje ustawień analizy zagrożeń i prywatnych zakresów SNAT. Przed kontynuowaniem należy pamiętać o tych ustawieniach i przeprowadzić ich migrację ręcznie. W przeciwnym razie może wystąpić niespójne filtrowanie ruchu przy użyciu nowej uaktualnionej zapory.
Ten skrypt wymaga najnowszej Azure PowerShell. Uruchom polecenie , Get-Module -ListAvailable Az
aby zobaczyć, które wersje są zainstalowane. Jeśli chcesz zainstalować, zobacz Instalowanie modułu 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
Migrowanie Azure Firewall przy użyciu zatrzymywania/uruchamiania
Jeśli używasz Azure Firewall standardowej jednostki SKU z zasadami zapory, możesz użyć metody Przydziel/Cofnij przydział, aby przeprowadzić migrację jednostki SKU zapory do warstwy Premium. Ta metoda migracji jest obsługiwana zarówno w zaporach centrum sieci wirtualnej, jak i w zaporach bezpiecznego koncentratora. Podczas migracji wdrożenia usługi Secure Hub zachowa publiczny adres IP zapory.
Minimalne wymagania dotyczące wersji Azure PowerShell to 6.5.0. Aby uzyskać więcej informacji, zobacz Az 6.5.0.
Migrowanie zapory koncentratora sieci wirtualnej
Cofanie przydziału zapory standardowej
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Przydziel zaporę Premium (pojedynczy publiczny adres IP)
$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
Przydzielanie zapory Premium (wiele publicznych adresów IP)
$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
Przydzielanie zapory Premium w trybie wymuszonego tunelu
$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
Migrowanie zapory bezpiecznego koncentratora
Cofanie przydziału zapory standardowej
$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>" $azfw.Deallocate() Set-AzFirewall -AzureFirewall $azfw
Przydzielanie zapory 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
Dołączanie zasad Premium do zapory Premium
Zasady Premium można dołączyć do nowej zapory Premium przy użyciu Azure Portal:
Następne kroki
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla