standard
turbot/azure_thrifty

Detect & correct Network load balancers if unused

Overview

Azure Network load balancers with no backend service instance attached still cost money and should be deleted.

This pipeline allows you to specify a collection of Network load balancers and either sends notifications or attempts to perform predefined corrective actions upon the collection.

Getting Started

By default, this trigger is disabled, however it can be configured by setting the below variables

  • network_load_balancers_if_unused_trigger_enabled should be set to true as the default is false.
  • network_load_balancers_if_unused_trigger_schedule should be set to your desired running schedule
  • network_load_balancers_if_unused_default_action should be set to your desired action (i.e. "notify" for notifications or "delete_lb" to delete the load balancer).

Then starting the server:

flowpipe server

or if you've set the variables in a .fpvars file:

flowpipe server --var-file=/path/to/your.fpvars

Query

with lb_with_backend_pool as (
select
id
from
azure_lb,
jsonb_array_elements(backend_address_pools) as p
where
jsonb_array_length(p -> 'properties' -> 'loadBalancerBackendAddresses') > 0
)
select
concat(
lb.id,
' [',
lb.resource_group,
'/',
lb.subscription_id,
']'
) as title,
lb.id as id,
lb.name,
lb.resource_group,
lb.subscription_id,
lb.sp_connection_name as conn
from
azure_lb as lb
left join lb_with_backend_pool as p on p.id = lb.id,
azure_subscription as sub
where
p.id is null
and sub.subscription_id = lb.subscription_id;

Schedule

15m

Tags

category = Cost
class = unused
plugin = azure
service = Azure/Network