Procedimientos recomendados de FinOps para redes
En este artículo se describen los procedimientos probados de FinOps para los servicios de red. Se centran en la optimización de costos, las mejoras en la eficiencia y la información de recursos.
Azure Firewall
En las secciones siguientes se proporcionan consultas de Azure Resource Graph (ARG) para Azure Firewall. Estas consultas le ayudan a obtener información sobre los recursos de Azure Firewall y a asegurarse de que están configuradas con las opciones adecuadas. Mediante el análisis de patrones de uso y recomendaciones de superficie de Azure Advisor, puede optimizar las configuraciones de Azure Firewall para lograr una eficiencia de costos.
Consulta: Análisis de directivas de firewall y firewall de Azure
Esta consulta de ARG analiza los firewalls de Azure y sus directivas de firewall asociadas dentro de su entorno de Azure. Se dirige específicamente a firewalls con un nivel de SKU Premium y comprueba que las configuraciones de sus directivas de firewall asociadas usan las características premium.
Categoría
Optimization
Consultar
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
Consulta: Análisis de subredes asociadas y Azure Firewall
Esta consulta de ARG analiza los firewalls de Azure y sus subredes asociadas en el entorno de Azure. Proporciona información sobre qué subredes están asociadas a cada instancia de Azure Firewall. Optimice el uso de Azure Firewall al tener una instancia central de Azure Firewall en la red virtual del centro de conectividad o en el centro seguro de Virtual WAN. Después, comparta el mismo firewall en muchas redes virtuales de radio que están conectadas al mismo centro desde la misma región.
Categoría
Optimization
Consultar
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
En la sección siguiente se proporcionan consultas ARG para App de Azure lication Gateway. Le ayuda a obtener información sobre los recursos de la puerta de enlace de App de Azure lication y a asegurarse de que están configurados con las opciones adecuadas.
Consulta: Puertas de enlace de aplicaciones inactivas
Esta consulta de ARG analiza las puertas de enlace de aplicaciones y sus grupos de back-end asociados dentro de su entorno de Azure. Proporciona información sobre qué puertas de enlace de aplicaciones tienen grupos de back-end vacíos, lo que indica que podrían estar inactivos y potencialmente innecesarios.
Categoría
Optimization
Consultar
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
En la sección siguiente se proporciona una consulta ARG para ExpressRoute. Le ayuda a obtener información sobre los circuitos ExpressRoute y a asegurarse de que están configurados con las opciones adecuadas.
Consulta: circuitos ExpressRoute inactivos
Esta consulta de ARG analiza los circuitos ExpressRoute dentro del entorno de Azure para identificar los circuitos sin un circuito completado.
Categoría
Optimization
Consultar
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
Equilibrador de carga
En la sección siguiente se proporciona una consulta ARG para Azure Load Balancer. Le ayuda a obtener información sobre los recursos del equilibrador de carga de Azure y a asegurarse de que están configurados con las opciones adecuadas.
Consulta: equilibradores de carga inactivos
Esta consulta de ARG analiza los equilibradores de carga de Azure y sus grupos de back-end asociados dentro de su entorno de Azure. Proporciona información sobre qué equilibradores de carga tienen grupos de back-end vacíos, lo que indica que podrían estar inactivos y potencialmente innecesarios.
Categoría
Optimization
Consultar
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
DNS privado
En la sección siguiente se proporciona una consulta ARG para DNS privado. Le ayuda a obtener información sobre los recursos de DNS privado y asegurarse de que están configurados con las opciones adecuadas.
Consulta: DNS privado
Esta consulta de ARG analiza DNS privado zonas dentro del entorno de Azure para identificar cualquier sin vínculos de red virtual.
Categoría
Optimization
Consultar
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
Dirección IP pública
En las secciones siguientes se proporcionan consultas ARG para direcciones IP públicas. Le ayudarán a obtener información sobre los recursos de dirección IP pública y asegurarse de que están configurados con las opciones adecuadas.
Consulta: Direcciones IP públicas inactivas
Esta consulta de ARG analiza las direcciones IP públicas de Azure. Proporciona información sobre qué direcciones IP públicas están inactivas y potencialmente innecesarias.
Categoría
Optimization
Consultar
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
)
Consulta: Identificación del método de enrutamiento de direcciones IP públicas
Esta consulta de ARG analiza las direcciones IP públicas e identifica el método de enrutamiento, el método de asignación y la SKU. También analiza otros detalles de las direcciones IP públicas asociadas a una configuración de IP.
Categoría
Optimization
Consultar
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
Consulta: Comprobación de la directiva de protección contra DDoS de las direcciones IP públicas
Si necesita proteger menos de 15 recursos de ip pública, el nivel de protección ip es la opción más rentable. Sin embargo, si tiene más de 15 recursos de ip pública para proteger, el nivel de protección de red se vuelve más rentable.
Categoría
Optimization
Consultar
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")
Puerta de enlace de red virtual
En las secciones siguientes se proporcionan consultas ARG para puertas de enlace de red virtual. Le ayudan a obtener información sobre los recursos de la puerta de enlace de red virtual y a asegurarse de que están configurados con las opciones adecuadas.
Consulta: Comprobación de la puerta de enlace de red virtual inactiva
Esta consulta de ARG analiza las puertas de enlace de red virtual dentro del entorno de Azure para identificar los que están inactivos.
Categoría
Optimization
Consultar
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
Consulta: Comprobación de la puerta de enlace NAT inactiva
Esta consulta de ARG analiza las puertas de enlace NAT dentro del entorno de Azure para identificar los que están inactivos.
Categoría
Optimization
Consultar
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
¿Buscas más?
¿Perdimos algo? ¿Desea ver algo agregado? Nos encantaría conocer las preguntas, problemas o soluciones que le gustaría ver aquí. Cree un nuevo problema con los detalles que le gustaría ver aquí.
Contenido relacionado
Recursos relacionados
Soluciones relacionadas:
- Informes de Power BI del kit de herramientas de FinOps
- Centros de FinOps
- Libros de FinOps
- Motor de optimización