我使用Pulumi (Go)在GCP云上提供了SQL (PostrgresSQL)。我已经将deletionProtection设置为true --但是检查GCP控制台,我可以看到SQL没有受到保护。我能够用控制台删除这个实例,通过破坏Pulumi状态。
+ gcp:sql/databaseInstance:DatabaseInstance: (create)
[urn=urn:pulumi:us-east4-dev-google-cloud-sql-example::google-cloud-sql-example::gcp:myproject/sql:Database$gcp:sql/databaseInstance:DatabaseInstance::google-cloud-sql]
databaseVersion : "POSTGRES_12"
deletionProtection: true
name : "google-cloud-sql-0b96b6d"
project : "my-project"
region : "us-east4"
settings : {
availabilityType : "REGIONAL"
backupConfiguration: {
enabled : false
pointInTimeRecoveryEnabled: false
}
databaseFlags : [
[0]: {
name : "auto_explain.log_analyze"
value : "on"
}
[1]: {
name : "max_connections"
value : "800"
}
]
diskAutoresize : true
diskAutoresizeLimit: 0
diskSize : 200
diskType : "PD_SSD"
insightsConfig : {
queryInsightsEnabled: false
queryStringLength : 1024
}
ipConfiguration : {
ipv4Enabled : false
privateNetwork: "projects/my-project/global/networks/dev-vpc"
}
pricingPlan : "PER_USE"
tier : "db-custom-32-122880"
userLabels : {
compliance : "cisl1"
criticality: "2"
environment: "dev"
monitored : "true"
name : "myusername"
owner : "devops_backend"
persistence: "persistent"
purpose : "pulumi-common-google-cloud-sql-example"
}
}发布于 2022-08-13 18:00:10
Google云没有API机制来防止删除SQL数据库,只用于虚拟机。
如果您查看deletionProtection属性的描述,说明如下:
是否允许提供程序销毁实例。除非此字段在状态中设置为false,否则删除实例的破坏或更新命令将失败。
删除保护是Pulumi状态唯一的操作。它实际上根本没有修改Google云中的数据库,因为Google不支持它。
您将无法阻止在Pulumi之外删除实例
https://stackoverflow.com/questions/73346335
复制相似问题