如何使用 Terraform 禁用 AWS RDS 上的删除保护?

Udd*_*dip 8 amazon-web-services terraform

我使用 Terraform 启动 AWS RDS SQL Server 数据库,并将deletion_protection 设置为 true。现在,我尝试删除数据库,因此我尝试首先运行 {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
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用相同的TF代码直接执行{terraform destroy}并将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
Run Code Online (Sandbox Code Playgroud)

如何使用 terraform 删除此数据库实例?

Mat*_*ard 12

这将是两个不同的 API 调用,因此两次连续的 Terraform 执行具有两个不同的配置修改:

  • 修改deletion_protectionfalse您的配置以及apply对 RDS 实例的更改。
  • 从配置中删除 RDS apply,或destroy直接删除 RDS 资源。任一操作都会删除 RDS 实例。


Mar*_*cin 5

你不能。您必须使用 AWS 控制台或 AWS CLI 结合修改-db-instance手动执行此操作。删除保护的全部目的是让rds实例不容易被删除,并且您必须为此显式修改它。