Compartir a través de


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í.


Recursos relacionados

Soluciones relacionadas: