standard
turbot/gcp_thrifty

Detect & correct Compute instances exceeding max age

Overview

Compute instances can be quite costly to retain, it is also likely that after a certain point in time they're no longer required and should be cleaned up to prevent further costs.

This query trigger detects unused instances and then either sends a notification or attempts to perform a predefined corrective action.

Getting Started

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

  • compute_instances_exceeding_max_age_trigger_enabled should be set to true as the default is false.
  • compute_instances_exceeding_max_age_trigger_schedule should be set to your desired running schedule
  • compute_instances_exceeding_max_age_default_action should be set to your desired action (i.e. "notify" for notifications or "terminate_instance" to delete the instance or "stop_instance" to stop the inmstance).

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

select
concat(name, ' [', zone, '/', project, ']') as title,
name as instance_name,
zone,
sp_connection_name as conn,
project
from
gcp_compute_instance
where
status in ('PROVISIONING', 'STAGING', 'RUNNING', 'REPAIRING')
and date_part('day', now() - creation_timestamp) > 30;

Schedule

15m

Tags

category = Cost
class = unused
plugin = gcp
service = GCP/Compute