Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden bewährte FinOps-Methoden für Netzwerkdienste beschrieben. Sie konzentrieren sich auf Kostenoptimierung, Effizienzverbesserungen und Ressourcenerkenntnisse.
Azure Firewall
In den folgenden Abschnitten werden Azure Resource Graph (ARG)-Abfragen für Azure Firewall bereitgestellt. Diese Abfragen helfen Ihnen, Einblicke in Ihre Azure-Firewallressourcen zu erhalten und sicherzustellen, dass sie mit den entsprechenden Einstellungen konfiguriert sind. Durch die Analyse von Nutzungsmustern und Empfehlungen von Azure Advisor können Sie Ihre Azure-Firewallkonfigurationen auf Kosteneffizienz optimieren.
Abfrage: Analyse von Azure-Firewall- und Firewallrichtlinien
Diese ARG-Abfrage analysiert Azure-Firewalls und die zugehörigen Firewallrichtlinien in Ihrer Azure-Umgebung. Sie zielt speziell auf Firewalls mit einer Premium-SKU-Stufe ab und überprüft, ob die Konfigurationen in ihren zugehörigen Firewallrichtlinien die Premium-Features nutzen.
Kategorie
Optimierung
Abfrage
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
Abfrage: Azure Firewall und zugehörige Subnetzanalyse
Diese ARG-Abfrage analysiert Azure-Firewalls und die zugehörigen Subnetze in Ihrer Azure-Umgebung. Sie bietet Einblicke in die Subnetze, die jeder Azure-Firewallinstanz zugeordnet sind. Optimieren Sie die Verwendung der Azure-Firewall, indem Sie eine zentrale Instanz der Azure-Firewall im virtuellen Hub oder im sicheren WAN-Hub verwenden. Teilen Sie dann dieselbe Firewall über viele virtuelle Speichennetzwerke, die mit demselben Hub aus derselben Region verbunden sind.
Kategorie
Optimierung
Abfrage
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
Anwendungs-Gateway
Der folgende Abschnitt enthält eine ARG-Abfrage für Azure-App lication Gateway. Es hilft Ihnen, Einblicke in Ihre Azure-App lication Gateway-Ressourcen zu erhalten und sicherzustellen, dass sie mit den entsprechenden Einstellungen konfiguriert sind.
Abfrage: Anwendungsgateways im Leerlauf
Diese ARG-Abfrage analysiert Anwendungsgateways und die zugehörigen Back-End-Pools in Ihrer Azure-Umgebung. Es bietet Einblicke, welche Anwendungsgateways über leere Back-End-Pools verfügen, was darauf hinweist, dass sie im Leerlauf und potenziell unnötig sind.
Kategorie
Optimierung
Abfrage
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
Der folgende Abschnitt enthält eine ARG-Abfrage für ExpressRoute. Es hilft Ihnen, Einblicke in Ihre ExpressRoute-Schaltkreise zu gewinnen und sicherzustellen, dass sie mit den entsprechenden Einstellungen konfiguriert sind.
Abfrage: ExpressRoute-Verbindungen im Leerlauf
Diese ARG-Abfrage analysiert ExpressRoute-Verbindungen in Ihrer Azure-Umgebung, um jene ohne eine abgeschlossene Verbindung zu identifizieren.
Kategorie
Optimierung
Abfrage
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
Lastenausgleich
Der folgende Abschnitt enthält eine ARG-Abfrage für Azure Load Balancer. Es hilft Ihnen, Einblicke in Ihre Azure Load Balancer-Ressourcen zu erhalten und sicherzustellen, dass sie mit den entsprechenden Einstellungen konfiguriert sind.
Abfrage: Lastenausgleiche im Leerlauf
Diese ARG-Abfrage analysiert Azure-Lastenausgleichsgeräte und die zugehörigen Back-End-Pools in Ihrer Azure-Umgebung. Sie bietet Einblicke, welche Lastenausgleiche über leere Back-End-Pools verfügen, was darauf hinweist, dass sie im Leerlauf und potenziell unnötig sind.
Kategorie
Optimierung
Abfrage
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
Privates DNS
Der folgende Abschnitt enthält eine ARG-Abfrage für Privates DNS. Es hilft Ihnen, Einblicke in Ihre Privates DNS Ressourcen zu gewinnen und sicherzustellen, dass sie mit den entsprechenden Einstellungen konfiguriert sind.
Abfrage: Private DNS
Diese ARG-Abfrage analysiert Private DNS-Zonen in Ihrer Azure-Umgebung, um solche ohne virtuelle Netzwerkverbindungen zu identifizieren.
Kategorie
Optimierung
Abfrage
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
Öffentliche IP-Adresse
In den folgenden Abschnitten werden ARG-Abfragen für öffentliche IP-Adressen bereitgestellt. Sie helfen Ihnen, Einblicke in Ihre ressourcen für öffentliche IP-Adressen zu erhalten und sicherzustellen, dass sie mit den entsprechenden Einstellungen konfiguriert sind.
Abfrage: Ungenutzte öffentliche IP-Adressen
Diese ARG-Abfrage analysiert öffentliche Azure-IP-Adressen. Es bietet Einblicke, welche öffentlichen IPs leer und potenziell unnötig sind.
Kategorie
Optimierung
Abfrage
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
)
Abfrage: Identifizieren der Routingmethode für öffentliche IP-Adressen
Diese ARG-Abfrage analysiert öffentliche IP-Adressen und identifiziert die Routingmethode, die Zuordnungsmethode und die SKU. Außerdem werden weitere Details zu öffentlichen IP-Adressen analysiert, die einer IP-Konfiguration zugeordnet sind.
Kategorie
Optimierung
Abfrage
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
Abfrage: Überprüfen der DDoS-Schutzrichtlinie für öffentliche IP-Adressen
Wenn Sie weniger als 15 öffentliche IP-Ressourcen schützen müssen, ist die IP-Schutzebene die kostengünstigere Option. Wenn Sie jedoch mehr als 15 öffentliche IP-Ressourcen zum Schutz haben, wird die Netzwerkschutzebene kostengünstiger.
Kategorie
Optimierung
Abfrage
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 für virtuelle Netzwerke
In den folgenden Abschnitten werden ARG-Abfragen für Virtuelle Netzwerkgateways bereitgestellt. Sie helfen Ihnen, Einblicke in Ihre Ressourcen für virtuelles Netzwerkgateway zu gewinnen und sicherzustellen, dass sie mit den entsprechenden Einstellungen konfiguriert sind.
Abfrage: Überprüfen nach virtuellen Netzwerkgateways im Leerlauf
Diese ARG-Abfrage analysiert virtuelle Netzwerkgateways in Ihrer Azure-Umgebung, um alle im Leerlauf befindlichen Gateways zu identifizieren.
Kategorie
Optimierung
Abfrage
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
Abfrage: Überprüfen nach NAT-Gateways im Leerlauf
Diese ARG-Abfrage analysiert NAT-Gateways in Ihrer Azure-Umgebung, um alle im Leerlauf befindlichen Gateways zu identifizieren.
Kategorie
Optimierung
Abfrage
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
Feedback senden
Lassen Sie uns mit einer kurzen Bewertung wissen, wie wir abschneiden. Wir verwenden diese Rezensionen, um FinOps-Tools und -Ressourcen zu verbessern und zu erweitern.
Wenn Sie nach etwas Spezifischem suchen, wählen Sie eine vorhandene Idee aus, oder erstellen Sie eine neue Idee. Teilen Sie Ideen mit anderen, um mehr Stimmen zu erhalten. Wir konzentrieren uns auf Ideen mit den meisten Stimmen.
Zugehöriger Inhalt
Verwandte Ressourcen:
Verwandte Lösungen: