Bagikan melalui


Praktik terbaik FinOps untuk Jaringan

Artikel ini menguraikan praktik FinOps yang terbukti untuk layanan jaringan. Mereka berfokus pada pengoptimalan biaya, peningkatan efisiensi, dan wawasan sumber daya.


Azure Firewall

Bagian berikut ini menyediakan kueri Azure Resource Graph (ARG) untuk Azure Firewall. Kueri ini membantu Anda mendapatkan wawasan tentang sumber daya firewall Azure Anda dan memastikan sumber daya tersebut dikonfigurasi dengan pengaturan yang sesuai. Dengan menganalisis pola penggunaan dan memunculkan rekomendasi dari Azure Advisor, Anda dapat mengoptimalkan konfigurasi firewall Azure untuk efisiensi biaya.

Kueri: Firewall Azure dan analisis kebijakan firewall

Kueri ARG ini menganalisis firewall Azure dan kebijakan firewall terkait dalam lingkungan Azure Anda. Ini secara khusus menargetkan firewall dengan tingkat SKU premium dan memverifikasi bahwa konfigurasi dalam kebijakan firewall terkait mereka memanfaatkan fitur premium.

Kategori

Pengoptimalan

Pertanyaan

resources 
| where type =~ 'Microsoft.Network/azureFirewalls' and properties.sku.tier=="Premium"
| project FWID=id, firewallName=name, SkuTier=tostring(properties.sku.tier), resourceGroup, location
| join kind=inner (
    resources
    | where type =~ 'microsoft.network/firewallpolicies'
    | mv-expand properties.firewalls
    | extend intrusionDetection = tostring(properties.intrusionDetection contains "Alert"
        or properties.intrusionDetection contains "Deny")
    | extend transportSecurity = tostring(properties.transportSecurity contains "keyVaultSecretId")
    | extend FWID = tostring(properties_firewalls.id)
    | where intrusionDetection == "False"
        and transportSecurity == "False"
    | project
        PolicyName = name,
        PolicySKU = tostring(properties.sku.tier),
        intrusionDetection,
        transportSecurity,
        FWID
) on FWID

Kueri: Azure Firewall dan analisis subnet terkait

Kueri ARG ini menganalisis firewall Azure dan subnet terkait dalam lingkungan Azure Anda. Ini memberikan wawasan tentang subnet mana yang terkait dengan setiap instans firewall Azure. Optimalkan penggunaan firewall Azure dengan memiliki instans pusat firewall Azure di jaringan virtual hub atau hub aman Virtual WAN. Kemudian bagikan firewall yang sama di banyak jaringan virtual spoke yang terhubung ke hub yang sama dari wilayah yang sama.

Kategori

Pengoptimalan

Pertanyaan

resources
| where type =~ 'Microsoft.Network/azureFirewalls' and properties.sku.tier=="Premium"
| project
    FWID=id,
    firewallName=name,
    SkuTier=tostring(properties.sku.tier),
    resourceGroup,
    location
| join kind=inner (
    resources
    | where type =~ 'microsoft.network/firewallpolicies'
    | mv-expand properties.firewalls
    | extend intrusionDetection = tostring(properties.intrusionDetection contains "Alert"
        or properties.intrusionDetection contains "Deny")
    | extend transportSecurity = tostring(properties.transportSecurity contains "keyVaultSecretId")
    | extend FWID=tostring(properties_firewalls.id)
    | where intrusionDetection == "False"
        and transportSecurity == "False"
    | project
        PolicyName = name,
        PolicySKU = tostring(properties.sku.tier),
        intrusionDetection,
        transportSecurity,
        FWID
) on FWID

Application Gateway

Bagian berikut ini menyediakan kueri ARG untuk Azure Application Gateway. Ini membantu Anda mendapatkan wawasan tentang sumber daya Azure Application Gateway Anda dan memastikan sumber daya tersebut dikonfigurasi dengan pengaturan yang sesuai.

Permintaan: Gerbang aplikasi yang tidak aktif

Kueri ARG ini menganalisis gateway aplikasi dan kumpulan backend terkait dalam lingkungan Azure Anda. Ini memberikan wawasan tentang gateway aplikasi mana yang memiliki kumpulan backend kosong, menunjukkan bahwa gateway tersebut mungkin menganggur dan berpotensi tidak perlu.

Kategori

Pengoptimalan

Pertanyaan

resources
| where type =~ 'Microsoft.Network/applicationGateways'
| extend
    backendPoolsCount = array_length(properties.backendAddressPools),
    SKUName = tostring(properties.sku.name),
    SKUTier = tostring(properties.sku.tier),
    SKUCapacity = properties.sku.capacity,
    backendPools = properties.backendAddressPools,
    resourceGroup = strcat('/subscriptions/',subscriptionId,'/resourceGroups/',resourceGroup)
| project id, name, SKUName, SKUTier, SKUCapacity, resourceGroup, subscriptionId
| join (
    resources
    | where type =~ 'Microsoft.Network/applicationGateways'
    | mvexpand backendPools = properties.backendAddressPools
    | extend backendIPCount = array_length(backendPools.properties.backendIPConfigurations)
    | extend backendAddressesCount = array_length(backendPools.properties.backendAddresses)
    | extend backendPoolName = backendPools.properties.backendAddressPools.name
    | summarize
        backendIPCount = sum(backendIPCount),
        backendAddressesCount = sum(backendAddressesCount)
        by id
) on id
| project-away id1
| where (backendIPCount == 0 or isempty(backendIPCount))
    and (backendAddressesCount==0 or isempty(backendAddressesCount))
| order by id asc

ExpressRoute

Bagian berikut ini menyediakan kueri ARG untuk ExpressRoute. Ini membantu Anda mendapatkan wawasan tentang sirkuit ExpressRoute Anda dan memastikannya dikonfigurasi dengan pengaturan yang sesuai.

Kueri: Sirkuit ExpressRoute tidak aktif

Kueri ARG ini menganalisis sirkuit ExpressRoute dalam lingkungan Azure Anda untuk mengidentifikasi sirkuit tanpa sirkuit yang telah selesai.

Kategori

Pengoptimalan

Pertanyaan

resources
| where type =~ 'Microsoft.Network/expressRouteCircuits'
    and properties.serviceProviderProvisioningState == "NotProvisioned"
| extend
    ServiceLocation = tostring(properties.serviceProviderProperties.peeringLocation),
    ServiceProvider = tostring(properties.serviceProviderProperties.serviceProviderName),
    BandwidthInMbps = tostring(properties.serviceProviderProperties.bandwidthInMbps)
| project
    ERId = id,
    ERName = name,
    ERRG = resourceGroup,
    SKUName = tostring(sku.name),
    SKUTier = tostring(sku.tier),
    SKUFamily = tostring(sku.family),
    ERLocation = location,
    ServiceLocation,
    ServiceProvider,
    BandwidthInMbps

Load Balancer

Bagian berikut ini menyediakan kueri ARG untuk Azure Load Balancer. Ini membantu Anda mendapatkan wawasan tentang sumber daya penyeimbang muatan Azure Anda dan memastikan sumber daya tersebut dikonfigurasi dengan pengaturan yang sesuai.

Kueri: Penyeimbang beban yang tidak aktif

Kueri ARG ini menganalisis penyeimbang beban Azure dan kumpulan backend terkait dalam lingkungan Azure Anda. Ini memberikan wawasan tentang load balancer mana yang memiliki kumpulan backend kosong, menunjukkan bahwa mereka mungkin menganggur dan berpotensi tidak diperlukan.

Kategori

Pengoptimalan

Pertanyaan

resources
| extend resourceGroup = strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)
| extend SKUName = tostring(sku.name)
| extend SKUTier = tostring(sku.tier)
| extend location,backendAddressPools = properties.backendAddressPools
| where type =~ 'microsoft.network/loadbalancers'
    and array_length(backendAddressPools) == 0
    and sku.name!='Basic'
| order by id asc
| project
    id,
    name,
    SKUName,
    SKUTier,
    backendAddressPools,
    location,
    resourceGroup,
    subscriptionId

Privat DNS

Bagian berikut ini menyediakan kueri ARG untuk DNS Privat. Ini membantu Anda mendapatkan wawasan tentang sumber daya DNS Privat Anda dan memastikan mereka dikonfigurasi dengan pengaturan yang sesuai.

Kueri: DNS Pribadi

Kueri ARG ini menganalisis zona DNS Privat dalam lingkungan Azure Anda untuk mengidentifikasi apa pun tanpa Tautan Virtual Network.

Kategori

Pengoptimalan

Pertanyaan

resources
| where type == "microsoft.network/privatednszones"
    and properties.numberOfVirtualNetworkLinks == 0
| project id, PrivateDNSName=name,
    NumberOfRecordSets = tostring(properties.numberOfRecordSets),
    resourceGroup = tostring(strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)),
    vNets = tostring(properties.properties.numberOfVirtualNetworkLinks),
    subscriptionId

Alamat IP publik

Bagian berikut menyediakan kueri ARG untuk alamat IP publik. Ini membantu Anda mendapatkan wawasan tentang sumber daya alamat IP publik Anda dan memastikan sumber daya tersebut dikonfigurasi dengan pengaturan yang sesuai.

Kueri: Alamat IP publik yang tidak aktif

Kueri ARG ini menganalisis alamat IP publik Azure. Ini memberikan wawasan tentang IP publik mana yang menganggur dan berpotensi tidak perlu.

Kategori

Pengoptimalan

Pertanyaan

resources
| where type =~ 'Microsoft.Network/publicIPAddresses'
    and isempty(properties.ipConfiguration)
    and isempty(properties.natGateway)
    and properties.publicIPAllocationMethod =~ 'Static'
| extend
    PublicIpId = id,
    IPName = name,
    AllocationMethod = tostring(properties.publicIPAllocationMethod),
    SKUName = sku.name,
    Location = location,
    resourceGroup = strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)
| project PublicIpId, IPName, SKUName, resourceGroup, Location, AllocationMethod, subscriptionId
| union (
    Resources
    | where type =~ 'microsoft.network/networkinterfaces'
        and isempty(properties.virtualMachine)
        and isnull(properties.privateEndpoint)
        and isnotempty(properties.ipConfigurations)
    | extend IPconfig = properties.ipConfigurations
    | mv-expand IPconfig
    | extend PublicIpId= tostring(IPconfig.properties.publicIPAddress.id)
    | project PublicIpId
    | join (
        resource
        | where type =~ 'Microsoft.Network/publicIPAddresses'
        | extend
            PublicIpId = id,
            IPName = name,
            AllocationMethod = tostring(properties.publicIPAllocationMethod),
            SKUName = sku.name,
            resourceGroup,
            Location = location
    ) on PublicIpId
    | project
        PublicIpId,
        IPName,
        SKUName,
        resourceGroup,
        Location,
        AllocationMethod,
        subscriptionId
)

Kueri: Mengidentifikasi metode perutean alamat IP publik

Kueri ARG ini menganalisis alamat IP publik dan mengidentifikasi metode perutean, metode alokasi, dan SKU. Ini juga menganalisis detail lain dari alamat IP publik yang terkait dengan konfigurasi IP.

Kategori

Pengoptimalan

Pertanyaan

resources
| where type =~ 'Microsoft.Network/publicIPAddresses'
    and isnotempty(properties.ipConfiguration)
| where tostring(properties.ipTags) == "[]"
| extend
    PublicIpId = id,
    RoutingMethod = id,
    IPName = name,
    AllocationMethod = tostring(properties.publicIPAllocationMethod),
    SKUName = sku.name,
    Location = location,
    resourceGroup = strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)
| project
    PublicIpId,
    IPName,
    RoutingMethod,SKUName,
    resourceGroup,
    Location,
    AllocationMethod,
    subscriptionId

Kueri: Periksa kebijakan perlindungan DDoS alamat IP publik

Jika Anda perlu melindungi kurang dari 15 sumber daya IP publik, tingkat perlindungan IP adalah opsi yang lebih hemat biaya. Namun, jika Anda memiliki lebih dari 15 sumber daya IP publik untuk dilindungi, maka tingkat perlindungan jaringan menjadi lebih hemat biaya.

Kategori

Pengoptimalan

Pertanyaan

resources
| where type == "microsoft.network/publicipaddresses"
| project ddosProtection = tostring(properties.ddosSettings), name
| where ddosProtection has "Enabled"
| count
| project TotalIpsProtected = Count
| extend CheckIpsProtected = iff(TotalIpsProtected >= 15, "Enable Network Protection tier", "Enable PIP DDoS Protection")

Gateway Jaringan Virtual

Bagian berikut ini menyediakan kueri ARG untuk Gateway Virtual Network. Ini membantu Anda mendapatkan wawasan tentang sumber daya Gateway Virtual Network Anda dan memastikan mereka dikonfigurasi dengan pengaturan yang sesuai.

Kueri: Periksa Gateway Virtual Network yang Tidak Aktif

Kueri ARG ini menganalisis Gateway Virtual Network dalam lingkungan Azure Anda untuk mengidentifikasi apa pun yang menganggur.

Kategori

Pengoptimalan

Pertanyaan

resources
| where type == "microsoft.network/virtualnetworkgateways"
| extend resourceGroup = strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)
| project id, GWName=name, resourceGroup, location, subscriptionId
| join kind = leftouter(
    resources
    | where type == "microsoft.network/connections"
    | extend id = tostring(properties.virtualNetworkGateway1.id)
    | project id
) on id
| where isempty(id1)
| project
    id,
    GWName,
    resourceGroup,
    location,
    subscriptionId,
    status=id

Permintaan: Periksa gateway NAT tidak aktif

Kueri ARG ini menganalisis gateway NAT dalam lingkungan Azure Anda untuk mengidentifikasi apa pun yang menganggur.

Kategori

Pengoptimalan

Pertanyaan

resources
| where type == "microsoft.network/natgateways" and isnull(properties.subnets)
| project
    id,
    GWName = name,
    SKUName = tostring(sku.name),
    SKUTier = tostring(sku.tier),
    Location = location,
    resourceGroup = tostring(strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)),
    subnet = tostring(properties.subnet),
    subscriptionId

Berikan umpan balik

Beri tahu kami bagaimana kinerja kami melalui ulasan singkat. Kami menggunakan ulasan ini untuk meningkatkan dan memperluas alat dan sumber daya FinOps.

Jika Anda mencari sesuatu yang spesifik, pilih yang sudah ada atau buat ide baru. Bagikan ide dengan orang lain untuk mendapatkan lebih banyak suara. Kami fokus pada ide-ide dengan suara terbanyak.


Sumber daya terkait:

Solusi terkait: