library
turbot/gcp_thrifty

Detect & correct SQL DB instances exceeding max age

Overview

SQL DB instances can be costly to run, especially if they're rarely used, instances that have been running for a long time should be reviewed to determine if they're still required.

This trigger allows you to specify a threshold for how long an instance has been running and then either send a notification or attempt to perform a predefined corrective action.

Getting Started

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

  • sql_db_instances_exceeding_max_age_trigger_enabled should be set to true as the default is false.
  • sql_db_instances_exceeding_max_age_trigger_schedule should be set to your desired running schedule
  • sql_db_instances_exceeding_max_age_default_action should be set to your desired action (i.e. "notify" for notifications or "delete_sql_db_instance" to delete the SQL DB instance).

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, ' [', location, '/', project, ']') as title,
name,
_ctx ->> 'connection_name' as cred,
project
from
gcp_sql_database_instance
where
date_part('day', now() - create_time) > 15;

Schedule

15m