Mengubah SKU Azure Firewall

Artikel ini memperlihatkan kepada Anda cara mengubah SKU Azure Firewall antara Standar dan Premium. Anda dapat meningkatkan dari Standar ke Premium untuk memanfaatkan kemampuan keamanan yang ditingkatkan, atau menurunkan tingkat dari Premium ke Standar ketika fitur tersebut tidak lagi diperlukan. Azure Firewall Premium menyediakan fitur perlindungan ancaman tingkat lanjut termasuk IDPS, inspeksi TLS, dan pemfilteran URL.

Anda dapat mengubah SKU firewall menggunakan salah satu dari dua metode:

  • Metode perubahan SKU yang mudah (disarankan): Peningkatan atau penurunan waktu henti nol menggunakan portal Microsoft Azure, PowerShell, atau Terraform
  • Metode migrasi manual: Migrasi langkah demi langkah untuk skenario kompleks atau ketika perubahan SKU yang mudah tidak tersedia

Untuk informasi selengkapnya tentang fitur Azure Firewall Premium, lihat Fitur Azure Firewall Premium.

Prasyarat

Sebelum mulai, pastikan bahwa Anda memiliki:

  • Langganan Azure dengan penerapan Azure Firewall yang sudah ada
  • Izin yang sesuai untuk mengubah sumber daya firewall (peran Kontributor Jaringan atau yang lebih tinggi)
  • Modul Azure PowerShell versi 6.5.0 atau yang lebih baru (untuk metode PowerShell)
  • Jendela pemeliharaan terencana (untuk metode migrasi manual)

Penting

Artikel ini berlaku terutama untuk SKU Azure Firewall Standard dan Premium. SKU Dasar Azure Firewall tidak mendukung perubahan SKU pada firewall yang ada. Peningkatan dari Dasar ke Premium hanya didukung sebagai bagian dari alur berhenti/mulai. Peningkatan dari Dasar ke Standar tidak didukung. Penurunan dari Azure Firewall Premium atau Standar ke Dasar hanya didukung melalui PowerShell atau Terraform. Selalu lakukan operasi perubahan SKU selama waktu pemeliharaan terjadwal dan uji proses secara menyeluruh di lingkungan nonproduksi terlebih dahulu.

Cara termudah untuk mengubah SKU Azure Firewall Anda tanpa waktu henti adalah dengan menggunakan fitur Ubah SKU. Metode ini mendukung peningkatan dari Standar ke Premium dan penurunan dari Premium ke Standar.

Kapan menggunakan perubahan SKU yang mudah dilakukan

Gunakan metode perubahan SKU yang mudah saat:

  • Anda memiliki Azure Firewall dengan kebijakan firewall (bukan aturan Klasik)
  • Firewall Anda disebarkan di wilayah yang didukung
  • Anda ingin meminimalkan waktu henti (waktu henti nol dengan metode ini)
  • Anda memiliki penyebaran standar tanpa konfigurasi kustom yang kompleks
  • Untuk penurunan tingkat: Kebijakan firewall yang dibuat untuk SKU yang lebih tinggi (Premium atau Standar) tidak dapat dilampirkan ke firewall SKU yang lebih rendah. Untuk menurunkan tingkat, Anda harus membuat kebijakan firewall baru atau menggunakan kebijakan yang sudah ada yang kompatibel dengan SKU target.

Pertimbangan kebijakan untuk perubahan SKU

Tingkatkan ke Premium

Selama proses peningkatan, pilih cara menangani kebijakan firewall Anda:

  • Kebijakan Premium yang ada: Pilih kebijakan Premium yang sudah ada sebelumnya untuk dilampirkan ke firewall yang ditingkatkan
  • Kebijakan Standar yang ada: Gunakan kebijakan Standar Anda saat ini. Sistem secara otomatis menduplikasi dan meningkatkannya ke kebijakan Premium
  • Buat kebijakan Premium baru: Biarkan sistem membuat kebijakan Premium baru berdasarkan konfigurasi Anda saat ini

Turunkan ke Standar

Saat menurunkan tingkat dari Premium ke Standar, pertimbangkan persyaratan kebijakan berikut:

Penting

Fitur eksklusif premium harus dihapus atau dinonaktifkan sebelum diturunkan ke SKU Standar.

Fitur premium untuk ditangani sebelum menurunkan tingkat:

  • Inspeksi TLS: Nonaktifkan aturan inspeksi TLS dan hapus sertifikat terkait
  • IDPS (Deteksi dan Pencegahan Intrusi): Ubah mode IDPS dari Pemberitahuan dan Tolak ke Peringatan Saja atau Nonaktif
  • Pemfilteran URL: Ganti aturan pemfilteran URL dengan pemfilteran FQDN jika memungkinkan
  • Kategori web: Menghapus atau mengganti aturan kategori web dengan aturan FQDN tertentu

Opsi penanganan kebijakan:

  • Gunakan kebijakan Standar yang ada: Pilih kebijakan Standar yang sudah ada sebelumnya yang tidak berisi fitur Premium
  • Membuat kebijakan Standar baru: Sistem dapat membuat kebijakan Standar baru, secara otomatis menghapus fitur khusus Premium

Mengubah SKU menggunakan portal Microsoft Azure

Untuk mengubah SKU firewall Anda menggunakan portal Microsoft Azure:

Tingkatkan ke Premium

  1. Masuk ke portal Azure.
  2. Navigasikan ke sumber daya Azure Firewall Anda.
  3. Pada halaman Gambaran Umum , pilih Ubah SKU.
  4. Dalam kotak dialog perubahan SKU, pilih Premium sebagai SKU target.
  5. Pilih opsi kebijakan Anda:
    • Pilih kebijakan Premium yang ada, atau
    • Buat kebijakan Premium baru dan pilih.
  6. Pilih Simpan untuk memulai peningkatan.

Turunkan ke Standar

  1. Masuk ke portal Azure.
  2. Navigasikan ke sumber daya Azure Firewall Premium Anda.
  3. Sebelum menurunkan tingkat: Pastikan kebijakan firewall Anda tidak berisi fitur eksklusif Premium (inspeksi TLS, mode Pemberitahuan dan Tolak IDPS, pemfilteran URL, kategori web).
  4. Pada halaman Gambaran Umum , pilih Ubah SKU.
  5. Dalam kotak dialog perubahan SKU, pilih Standar sebagai SKU target.
  6. Pilih opsi kebijakan Anda:
    • Pilih kebijakan Standar yang ada, atau
    • Izinkan sistem membuat kebijakan Standar baru (fitur Premium dihapus secara otomatis)
  7. Pilih Simpan untuk memulai penurunan tingkat.

Proses perubahan SKU biasanya selesai dalam beberapa menit dengan waktu henti nol.

Cuplikan layar memperlihatkan peningkatan SKU.

Perubahan SKU PowerShell dan Terraform

Anda juga dapat melakukan perubahan SKU menggunakan:

  • PowerShell: Ubah properti menjadi sku_tier "Premium", "Standard" atau "Basic"
  • Terraform: Perbarui sku_tier atribut dalam konfigurasi Anda ke SKU yang diinginkan

Keterbatasan

Metode perubahan SKU yang mudah memiliki batasan berikut:

Batasan umum:

  • Tidak mendukung peningkatan SKU dari Azure Firewall Basic SKU pada firewall yang ada. Peningkatan dasar ke Premium memerlukan penghentian dan mulai ulang firewall. Basic ke Standard tidak didukung.
  • Tidak tersedia untuk firewall dengan konfigurasi kompleks tertentu
  • Ketersediaan terbatas di beberapa wilayah
  • Memerlukan kebijakan firewall yang ada (tidak tersedia untuk aturan Klasik)

Batasan khusus downgrade:

  • Fitur premium (inspeksi TLS, mode Pemberitahuan dan Tolak IDPS, pemfilteran URL, kategori web) harus dihapus sebelum diturunkan tingkatnya
  • Untuk Firewall SKU baru, Anda harus menggunakan kebijakan yang kompatibel yang ada atau membuat kebijakan Standar baru
  • Beberapa konfigurasi aturan mungkin memerlukan penyesuaian manual setelah penurunan tingkat

Jika metode perubahan SKU yang mudah tidak tersedia untuk skenario Anda, gunakan metode migrasi manual yang dijelaskan di bagian berikutnya.

Metode migrasi manual

Jika metode peningkatan yang mudah tidak tersedia atau cocok untuk penyebaran, Anda dapat menggunakan metode migrasi manual. Pendekatan ini memberikan lebih banyak kontrol tetapi membutuhkan waktu henti. Migrasi manual tidak mengaktifkan perubahan SKU dari Azure Firewall Basic pada firewall yang sudah ada.

Kapan menggunakan migrasi manual

Gunakan migrasi manual saat:

  • Peningkatan mudah tidak tersedia untuk skenario Anda
  • Anda memiliki aturan firewall Klasik yang memerlukan migrasi
  • Anda memiliki konfigurasi kustom yang kompleks
  • Anda memerlukan kontrol penuh atas proses migrasi
  • Firewall Anda dioperasikan di Asia Tenggara dengan Zona Ketersediaan

Pertimbangan performa

Performa adalah pertimbangan saat bermigrasi dari SKU Standar. Inspeksi IDPS dan TLS adalah operasi intensif komputasi. SKU Premium menggunakan SKU VM yang lebih kuat, sehingga mencapai throughput yang lebih tinggi yang sebanding dengan SKU Standar. Untuk informasi selengkapnya tentang Performa Azure Firewall, lihat Performa Azure Firewall.

Microsoft menyarankan pelanggan melakukan pengujian skala penuh dalam penyebaran Azure mereka untuk memastikan performa layanan firewall memenuhi harapan Anda.

Pertimbangan waktu henti

Rencanakan untuk jendela pemeliharaan saat menggunakan metode migrasi manual, karena ada beberapa waktu henti (biasanya 20-30 menit) selama proses berhenti/mulai.

Gambaran umum langkah migrasi

Langkah-langkah umum berikut diperlukan untuk keberhasilan migrasi manual:

  1. Buat kebijakan Premium baru berdasarkan kebijakan Standar atau aturan klasik yang ada
  2. Memigrasikan Azure Firewall dari Standar ke Premium menggunakan stop/start
  3. Lampirkan kebijakan Premium ke Firewall Premium Anda

Langkah 1: Memigrasikan aturan Klasik ke kebijakan Standar

Jika Anda memiliki aturan firewall Klasik, pertama-tama migrasikan ke kebijakan Standar menggunakan portal Microsoft Azure:

  1. Dari portal Microsoft Azure, pilih firewall standar Anda.
  2. Pada halaman Gambaran Umum , pilih Migrasi ke kebijakan firewall.
  3. Pada halaman Migrasi ke kebijakan firewall, pilih Tinjau + buat.
  4. Pilih Buat.

Penyebaran membutuhkan waktu beberapa menit untuk selesai.

Anda juga dapat memigrasikan aturan Klasik yang ada menggunakan Azure PowerShell. Untuk informasi selengkapnya, lihat Memigrasikan konfigurasi Azure Firewall ke kebijakan Azure Firewall menggunakan PowerShell.

Langkah 2: Membuat kebijakan Premium menggunakan PowerShell

Gunakan skrip PowerShell berikut untuk membuat kebijakan Premium baru dari kebijakan Standar yang ada:

Penting

Skrip tidak akan memigrasikan pengaturan Inteligensi Ancaman dan rentang privat SNAT. Anda perlu mencatat pengaturan tersebut sebelum melanjutkan dan memigrasikannya secara manual.

<#
    .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

Contoh penggunaan:

Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name

Langkah 3: Memigrasikan Azure Firewall menggunakan stop/start

Jika Anda menggunakan SKU Standar Azure Firewall dengan kebijakan firewall, Anda dapat menggunakan metode Alokasikan/Batalkan Alokasi untuk memigrasikan SKU Firewall Anda ke Premium. Pendekatan migrasi ini didukung pada Hub jaringan virtual dan Firewall Hub Aman.

Nota

Persyaratan versi Azure PowerShell minimum adalah 6.5.0. Untuk informasi selengkapnya, lihat Az 6.5.0.

Migrasikan Firewall Hub jaringan virtual

Batalkan alokasi Firewall Standar:

$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
$azfw.Deallocate()
Set-AzFirewall -AzureFirewall $azfw

Alokasikan Firewall Premium (alamat IP publik tunggal):

$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

Alokasikan Firewall Premium (beberapa alamat IP publik):

$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

Alokasikan Firewall Premium dalam Mode Terowongan Paksa:

$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

Migrasikan Hub Firewall Aman

Batalkan alokasi Firewall Standar:

$azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
$azfw.Deallocate()
Set-AzFirewall -AzureFirewall $azfw

Alokasikan 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

Langkah 4: Lampirkan kebijakan Premium

Setelah memutakhirkan firewall ke Premium, lampirkan kebijakan Premium menggunakan portal Microsoft Azure:

  1. Navigasikan ke firewall Premium Anda di portal Microsoft Azure.
  2. Pada halaman Gambaran Umum , pilih Kebijakan firewall.
  3. Pilih kebijakan Premium yang baru dibuat.
  4. Pilih Simpan.

Cuplikan layar memperlihatkan kebijakan firewall

Migrasi Terraform

Jika Anda menggunakan Terraform untuk menyebarkan Azure Firewall, Anda dapat menggunakan Terraform untuk bermigrasi ke Azure Firewall Premium. Untuk informasi selengkapnya, lihat Memigrasikan Azure Firewall Standard ke Premium menggunakan Terraform.

Memecahkan masalah perubahan SKU

Masalah dan solusi umum

  • Perubahan SKU yang mudah tidak tersedia: Gunakan metode migrasi manual yang dijelaskan dalam artikel ini
  • Kesalahan migrasi kebijakan: Pastikan Anda memiliki versi modul PowerShell yang benar yang terinstal
  • Waktu henti lebih lama dari yang diharapkan: Periksa konektivitas jaringan dan ketersediaan sumber daya
  • Masalah performa setelah peningkatan: Tinjau pertimbangan performa dan lakukan pengujian menyeluruh
  • Menurunkan tingkat yang diblokir oleh fitur Premium: Menghapus atau menonaktifkan fitur eksklusif Premium sebelum mencoba menurunkan tingkat

Pemecahan masalah penurunan tingkat

Jika Anda tidak dapat menurunkan tingkat dari Premium ke Standar:

  1. Periksa fitur Premium: Verifikasi bahwa kebijakan firewall Anda tidak berisi:

    • Aturan inspeksi TLS
    • IDPS dalam mode Siaga dan Tolak
    • Aturan pemfilteran URL
    • Aturan kategori web
  2. Opsi modifikasi kebijakan:

    • Membuat kebijakan Standar baru tanpa fitur Premium
    • Menggunakan Azure PowerShell untuk mengidentifikasi dan menghapus aturan yang tidak kompatibel
  3. Langkah-langkah validasi:

    # Check current firewall policy for Premium features
    $policy = Get-AzFirewallPolicy -ResourceGroupName "myResourceGroup" -Name "myPolicy"
    
    # Review policy settings for Premium features
    $policy.ThreatIntelMode
    $policy.IntrusionDetection
    $policy.TransportSecurity
    

Batasan yang diketahui

  • Pemutakhiran firewall Standar yang disebarkan di Asia Tenggara dengan Zona Ketersediaan saat ini tidak mendukung migrasi manual.
  • Perubahan SKU yang mudah tidak mendukung firewall SKU Dasar - pengguna dengan SKU Dasar harus terlebih dahulu bermigrasi ke SKU Standar sebelum meningkatkan ke Premium
  • Beberapa konfigurasi kustom mungkin memerlukan pendekatan migrasi manual
  • Penurunan dengan fitur Premium aktif gagal hingga fitur tersebut dihapus

Langkah selanjutnya