如何自动删除GCP Cloud SQL按需备份及设置保留天数?
Cloud SQL按需备份自动删除及保留设置问题解答
一、自动删除按需备份的实现方式
Cloud SQL没有内置的按需备份自动过期删除功能,可通过以下方案实现:
- Cloud Functions + Cloud Scheduler 组合方案
- 编写Cloud Function,调用Cloud SQL Admin API的
sqladmin.backups.delete接口,过滤出按需备份(区分于自动备份),根据备份创建时间判断是否超过指定的x天,满足条件则执行删除。 - 配置Cloud Scheduler,按固定周期(比如每日)触发该Cloud Function,实现自动清理。
- 编写Cloud Function,调用Cloud SQL Admin API的
- 基础设施即代码工具(如Terraform)
若使用Terraform管理备份资源,可编写配套的清理逻辑,定期移除超出保留期的按需备份,但灵活性不如Serverless方案。
二、gcloud sql backups create命令的保留天数参数说明
当前gcloud sql backups create \ --async \ --instance=my-instance这个命令没有设置备份保留天数的参数。按需备份默认不会自动失效,只能通过手动删除或上述自动化方案进行清理。
如果需要自动保留指定天数的备份,也可以考虑启用Cloud SQL的自动备份功能(可在实例配置中设置保留天数),但自动备份是按预设周期执行的,和按需备份的使用场景不同。
内容的提问来源于stack exchange,提问作者sidharth vijayakumar
相关产品推荐
相关产品推荐

