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í obsah
Související zdroje:
Související řešení: