Skip to main content

How to Clean Up AWS Load Balancers

When compute instances are removed, their load balancers are sometimes left behind.

Fix Inventory's cleanup_aws_loadbalancers plugin can find and delete these orphaned load balancers.

Prerequisites​

This guide assumes that you have already installed and configured Fix Inventory to collect your AWS resources.

Directions​

  1. Execute the following command in Fix Inventory Shell to open the Fix Inventory Worker configuration for editing:

    > config edit fix.worker
  2. Enable cleanup by modifying the fixworker section of the configuration as follows:

    fixworker:
    # Enable cleanup of resources
    cleanup: true
    # Do not actually cleanup resources, just create log messages
    cleanup_dry_run: false
    # How many cleanup threads to run in parallel
    cleanup_pool_size: 16

    When cleanup is enabled, marked resources will be deleted as a part of the collect_and_cleanup workflow, which runs each hour by default.

    tip

    Set cleanup_dry_run to true to simulate cleanup without actually deleting resources.

  3. Update the plugin_cleanup_aws_loadbalancers section, setting the enabled property to true:

    cleanup_aws_loadbalancers plugin configuration
    plugin_cleanup_aws_loadbalancers:
    # Enable plugin?
    enabled: true
    # Minimum age of unused load balancers to cleanup
    min_age: 7d
    note

    The above plugin configuration cleans up ELBs, ALBs, and ALB target groups older than the minimum age with no attached backends. Items tagged with expiration: never will not be flagged for cleanup.

The plugin will now run each time Fix Inventory emits the post_cleanup_plan event. The post_cleanup_plan event is emitted in the cleanup phase of the collect_and_cleanup workflow.

Each time the cleanup_aws_loadbalancers plugin runs, orphaned load balancers will be flagged for removal during the next cleanup run.

Further Reading​