Sdílet prostřednictvím


Osvědčené postupy FinOps pro sítě

Tento článek popisuje osvědčené postupy FinOps pro síťové služby. Zaměřují se na optimalizaci nákladů, vylepšení efektivity a přehledy prostředků.


Azure Firewall

Následující části obsahují dotazy Azure Resource Graphu (ARG) pro Službu Azure Firewall. Tyto dotazy vám pomůžou získat přehled o prostředcích brány Azure Firewall a zajistit, aby byly nakonfigurované s příslušnými nastaveními. Analýzou vzorů využití a doporučení pro zpřístupnění z Azure Advisoru můžete optimalizovat konfigurace brány Azure Firewall tak, aby byly nákladově efektivní.

Dotaz: Analýza zásad brány firewall a brány firewall v Azure

Tento dotaz ARG analyzuje brány firewall Azure a související zásady brány firewall v rámci vašeho prostředí Azure. Konkrétně cílí na brány firewall s úrovní SKU Úrovně Premium a ověří, že konfigurace v přidružených zásadách brány firewall využívají prémiové funkce.

Kategorie

Optimalizace

Dotaz

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

Dotaz: Analýza služby Azure Firewall a přidružených podsítí

Tento dotaz ARG analyzuje brány Azure Firewall a jejich přidružené podsítě v rámci vašeho prostředí Azure. Poskytuje přehled o tom, které podsítě jsou přidružené ke každé instanci brány Azure Firewall. Optimalizujte použití brány Azure Firewall tím, že máte centrální instanci brány Azure Firewall v centrální virtuální síti nebo zabezpečeném centru Virtual WAN. Pak sdílejte stejnou bránu firewall napříč mnoha paprskovými virtuálními sítěmi, které jsou připojené ke stejnému centru ze stejné oblasti.

Kategorie

Optimalizace

Dotaz

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

Následující část obsahuje dotazy ARG pro Aplikace Azure lication Gateway. Pomůže vám získat přehled o prostředcích brány Aplikace Azure lication Gateway a zajistit, aby byly nakonfigurované s příslušnými nastaveními.

Dotaz: Nečinné aplikační brány

Tento dotaz ARG analyzuje aplikační brány a jejich přidružené back-endové fondy v rámci vašeho prostředí Azure. Poskytuje přehled o tom, které aplikační brány mají prázdné back-endové fondy, což znamená, že by mohly být nečinné a potenciálně zbytečné.

Kategorie

Optimalizace

Dotaz

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

Následující část obsahuje dotaz ARG pro ExpressRoute. Pomůže vám získat přehled o vašich okruhech ExpressRoute a zajistit, aby byly nakonfigurované s příslušnými nastaveními.

Dotaz: Nečinné okruhy ExpressRoute

Tento dotaz ARG analyzuje okruhy ExpressRoute v rámci vašeho prostředí Azure, aby identifikoval jakýkoli bez dokončeného okruhu.

Kategorie

Optimalizace

Dotaz

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

Následující část obsahuje dotaz ARG pro Azure Load Balancer. Pomůže vám získat přehled o prostředcích Azure Load Balanceru a zajistit, aby byly nakonfigurované s příslušnými nastaveními.

Dotaz: Nečinné nástroje pro vyrovnávání zatížení

Tento dotaz ARG analyzuje nástroje pro vyrovnávání zatížení Azure a jejich přidružené back-endové fondy v rámci vašeho prostředí Azure. Poskytuje přehled o tom, které nástroje pro vyrovnávání zatížení mají prázdné back-endové fondy, což znamená, že by mohly být nečinné a potenciálně zbytečné.

Kategorie

Optimalizace

Dotaz

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

Privátní DNS

Následující část obsahuje dotaz ARG pro Privátní DNS. Pomůže vám získat přehled o vašich Privátní DNS prostředcích a zajistit, aby byly nakonfigurované s příslušnými nastaveními.

Dotaz: Privátní DNS

Tento dotaz ARG analyzuje Privátní DNS zóny ve vašem prostředí Azure, aby identifikoval všechny bez propojení virtuální sítě.

Kategorie

Optimalizace

Dotaz

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

Veřejná IP adresa

Následující části obsahují dotazy ARG na veřejné IP adresy. Pomáhají získat přehled o prostředcích veřejných IP adres a zajistit, aby byly nakonfigurované s příslušnými nastaveními.

Dotaz: Nečinné veřejné IP adresy

Tento dotaz ARG analyzuje veřejné IP adresy Azure. Poskytuje přehled o tom, které veřejné IP adresy jsou nečinné a potenciálně zbytečné.

Kategorie

Optimalizace

Dotaz

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
)

Dotaz: Identifikace metody směrování veřejných IP adres

Tento dotaz ARG analyzuje veřejné IP adresy a identifikuje metodu směrování, metodu přidělování a skladovou položku. Analyzuje také další podrobnosti veřejných IP adres, které jsou přidružené ke konfiguraci PROTOKOLU IP.

Kategorie

Optimalizace

Dotaz

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

Dotaz: Kontrola zásad ochrany před útoky DDoS veřejných IP adres

Pokud potřebujete chránit méně než 15 prostředků veřejné IP adresy, je nákladově efektivnější možností úroveň ochrany IP adres. Pokud ale máte k ochraně více než 15 veřejných PROSTŘEDKŮ IP adres, úroveň ochrany sítě bude nákladově efektivnější.

Kategorie

Optimalizace

Dotaz

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

Brána virtuální sítě

Následující části obsahují dotazy ARG pro brány virtuální sítě. Pomáhají získat přehled o prostředcích brány virtuální sítě a zajistit, aby byly nakonfigurované s příslušnými nastaveními.

Dotaz: Kontrola nečinné brány virtuální sítě

Tento dotaz ARG analyzuje brány virtuální sítě v rámci vašeho prostředí Azure a identifikuje všechny nečinné.

Kategorie

Optimalizace

Dotaz

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

Dotaz: Kontrola nečinné brány NAT

Tento dotaz ARG analyzuje brány NAT v rámci vašeho prostředí Azure a identifikuje všechny nečinné.

Kategorie

Optimalizace

Dotaz

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

Hledáte další?

Chyběli jsme něco? Chcete vidět něco přidaného? Rádi bychom se dozvěděli o jakýchkoli otázkách, problémech nebo řešeních, které byste zde rádi probrali. Vytvořte nový problém s podrobnostmi, které byste chtěli vidět v obou těchto tématech.


Související zdroje:

Související řešení: