Megosztás a következőn keresztül:


A FinOps ajánlott eljárásai a hálózatkezeléshez

Ez a cikk a hálózatkezelési szolgáltatások bevált FinOps-eljárásait ismerteti. A költségoptimalizálásra, a hatékonysági fejlesztésekre és az erőforrás-elemzésekre összpontosítanak.


Azure Firewall

Az alábbi szakaszok az Azure Resource Graph (ARG) lekérdezéseit biztosítják az Azure Firewallhoz. Ezek a lekérdezések segítenek betekintést nyerni az Azure-tűzfal erőforrásaiba, és meggyőződni arról, hogy a megfelelő beállításokkal vannak konfigurálva. A használati minták elemzésével és az Azure Advisor javaslatainak áttekintésével optimalizálhatja az Azure-tűzfal konfigurációit a költséghatékonyság érdekében.

Lekérdezés: Azure-tűzfal- és tűzfalszabályzatok elemzése

Ez az ARG-lekérdezés elemzi az Azure-tűzfalakat és azok kapcsolódó tűzfalszabályzatait az Azure-környezetben. Kifejezetten a prémium termékváltozat-szinttel rendelkező tűzfalakat célozza meg, és ellenőrzi, hogy a hozzájuk tartozó tűzfalszabályzatok konfigurációi a prémium funkciókat használják-e.

Kategória

Optimalizálás

Lekérdezés

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

Lekérdezés: Az Azure Firewall és a társított alhálózatok elemzése

Ez az ARG-lekérdezés elemzi az Azure-tűzfalakat és azok kapcsolódó alhálózatait az Azure-környezetben. Betekintést nyújt az egyes Azure-tűzfalpéldányokhoz társított alhálózatokba. Optimalizálhatja az Azure-tűzfal használatát úgy, hogy az Azure-tűzfal központi példányát a központi virtuális hálózaton vagy a Virtual WAN biztonságos központban használja. Ezután ossza meg ugyanazt a tűzfalat több küllős virtuális hálózaton, amelyek ugyanahhoz a központhoz csatlakoznak ugyanabból a régióból.

Kategória

Optimalizálás

Lekérdezés

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

A következő szakasz egy ARG-lekérdezést biztosít Azure-alkalmazás Gatewayhez. Segít betekintést nyerni az Azure-alkalmazás Átjáró erőforrásaiba, és meggyőződni arról, hogy a megfelelő beállításokkal vannak konfigurálva.

Lekérdezés: Üresjárati alkalmazásátjárók

Ez az ARG-lekérdezés elemzi az alkalmazásátjárókat és azok kapcsolódó háttérkészleteit az Azure-környezetben. Betekintést nyújt abba, hogy mely alkalmazásátjárók rendelkeznek üres háttérkészletekkel, ami azt jelzi, hogy inaktívak és esetleg szükségtelenek lehetnek.

Kategória

Optimalizálás

Lekérdezés

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

Az alábbi szakasz egy ARG-lekérdezést biztosít az ExpressRoute-hoz. Segít betekintést nyerni az ExpressRoute-kapcsolatcsoportokba, és meggyőződni arról, hogy a megfelelő beállításokkal vannak konfigurálva.

Lekérdezés: Üresjárati ExpressRoute-kapcsolatcsoportok

Ez az ARG-lekérdezés az Azure-környezetben található ExpressRoute-kapcsolatcsoportokat elemzi, hogy azokat befejezett kapcsolatcsoport nélkül azonosíthassa.

Kategória

Optimalizálás

Lekérdezés

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

Az alábbi szakasz egy ARG-lekérdezést biztosít az Azure Load Balancerhez. Segítségével betekintést nyerhet az Azure-terheléselosztó erőforrásaiba, és meggyőződhet arról, hogy a megfelelő beállításokkal vannak konfigurálva.

Lekérdezés: Tétlen terheléselosztók

Ez az ARG-lekérdezés elemzi az Azure-terheléselosztókat és azok kapcsolódó háttérkészleteit az Azure-környezetben. Betekintést nyújt abba, hogy mely terheléselosztók rendelkeznek üres háttérkészletekkel, jelezve, hogy inaktívak és esetleg szükségtelenek.

Kategória

Optimalizálás

Lekérdezés

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

saját DNS

Az alábbi szakasz egy ARG-lekérdezést tartalmaz a Privát DNS-hez. Segítségével betekintést nyerhet saját DNS erőforrásaiba, és meggyőződhet arról, hogy a megfelelő beállításokkal vannak konfigurálva.

Lekérdezés: saját DNS

Ez az ARG-lekérdezés elemzi saját DNS zónákat az Azure-környezetben, hogy azonosíthassa a virtuális hálózati kapcsolatok nélküli zónákat.

Kategória

Optimalizálás

Lekérdezés

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

Nyilvános IP-cím

A következő szakaszok ARG-lekérdezéseket biztosítanak a nyilvános IP-címekhez. Segítségével betekintést nyerhet a nyilvános IP-cím erőforrásaiba, és meggyőződhet arról, hogy a megfelelő beállításokkal vannak konfigurálva.

Lekérdezés: Üresjárati nyilvános IP-címek

Ez az ARG-lekérdezés elemzi az Azure nyilvános IP-címeit. Betekintést nyújt abba, hogy mely nyilvános IP-címek tétlenek és esetleg szükségtelenek.

Kategória

Optimalizálás

Lekérdezés

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
)

Lekérdezés: A nyilvános IP-címek útválasztási módszerének azonosítása

Ez az ARG-lekérdezés elemzi a nyilvános IP-címeket, és azonosítja az útválasztási módszert, a foglalási módszert és az SKU-t. Emellett elemzi az IP-konfigurációhoz társított nyilvános IP-címek egyéb részleteit is.

Kategória

Optimalizálás

Lekérdezés

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

Lekérdezés: Nyilvános IP-címek DDoS-védelmi szabályzatának ellenőrzése

Ha 15-nél kevesebb nyilvános IP-erőforrást kell védenie, az IP-védelmi szint a költséghatékonyabb megoldás. Ha azonban több mint 15 nyilvános IP-erőforrással rendelkezik a védelemhez, a hálózati védelmi szint költséghatékonyabbá válik.

Kategória

Optimalizálás

Lekérdezés

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")

Virtuális hálózati átjáró

A következő szakaszok ARG-lekérdezéseket biztosítanak a virtuális hálózati átjárókhoz. Segítségével betekintést nyerhet a Virtuális hálózati átjáró erőforrásaiba, és meggyőződhet arról, hogy a megfelelő beállításokkal vannak konfigurálva.

Lekérdezés: Tétlen virtuális hálózati átjáró ellenőrzése

Ez az ARG-lekérdezés elemzi a virtuális hálózati átjárókat az Azure-környezetben, hogy azonosítsa az inaktívakat.

Kategória

Optimalizálás

Lekérdezés

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

Lekérdezés: Üresjárati NAT-átjáró keresése

Ez az ARG-lekérdezés elemzi az Azure-környezetben lévő NAT-átjárókat, hogy azonosítsa az inaktív átjárókat.

Kategória

Optimalizálás

Lekérdezés

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

Visszajelzés küldése

Kérem, tájékoztasson minket egy gyors visszajelzéssel arról, hogyan haladunk. Ezeket a felülvizsgálatokat a FinOps-eszközök és -erőforrások fejlesztésére és bővítésére használjuk.

Ha valami konkrétat keres, szavazzon egy meglévőre, vagy hozzon létre egy új ötletet. Ossza meg ötleteit másokkal, hogy több szavazatot kapjon. A legtöbb szavazattal rendelkező ötletekre összpontosítunk.


Kapcsolódó erőforrások:

Kapcsolódó megoldások: