我使用Terraform来启动一个将deletion_protection设置为true的AWS RDS SQL Server DB。现在,我试图删除数据库,因此我尝试先运行{terraform apply}, deletion_protection设置为false,我得到了以下错误:
Error: error deleting Database Instance "awsworkerdb-green": InvalidParameterCombination: Cannot delete protected DB Instance, please disable deletion protection and try again.
status code: 400, request id: 7e787deb-af03-4016-9baa-471ab9c0ae1c
然后我试图直接做{terraform destroy}使用相同的TF代码与deletion_protection设置为false,我得到以下错误:
Error: error deleting Database Instance "awsworkerdb-green": InvalidParameterCombination: Cannot delete protected DB Instance, please disable deletion protection and try again.
status code: 400, request id: 9a95ef70-8738-4a31-b0cd-cf10ef05bdec
如何使用terraform删除这个数据库实例?
这将是两个不同的API调用,因此两个连续的Terraform执行具有两个不同的配置修改:
- 在配置中将
deletion_protection
修改为false
,将apply
修改为RDS实例。 - 直接将RDS从config和
apply
、destroy
中移除。任何一个操作都将删除RDS实例。
你不能。您必须使用AWS控制台或AWS CLI通过modify-db-instance手动执行此操作。删除保护的全部意义在于使rds实例不容易删除,您必须为此显式地修改它。
From cli use below
aws rds modify-db-instance——db-instance-identifier <——地区& lt; DB_REGION>——no-deletion-protection立即申请