gpt4 book ai didi

aws-cloudformation - AWS RDS Stack 更新始终替换数据库集群

转载 作者:行者123 更新时间:2023-12-03 07:32:01 26 4
gpt4 key购买 nike

我首先使用集群快照和云形成模板恢复了 Aurora RDS 集群。然后删除快照标识符,更新密码并执行堆栈更新,保持 CFT 中的其他所有内容不变。但堆栈总是打印

Requested update requires the creation of a new physical resource; hence creating one.

消息并开始创建新集群。这是我的集群 CFT。

"DatabaseCluster": {
"Type": "AWS::RDS::DBCluster",
"DeletionPolicy": "Snapshot",
"Properties": {
"BackupRetentionPeriod": {
"Ref": "BackupRetentionPeriod"
},
"Engine": "aurora-postgresql",
"EngineVersion": {
"Ref": "EngineVersion"
},
"Port": {
"Ref": "Port"
},
"MasterUsername": {
"Fn::If" : [
"isUseDBSnapshot",
{"Ref" : "AWS::NoValue"},
{"Ref" : "MasterUsername"}
]
},
"MasterUserPassword": {
"Fn::If" : [
"isUseDBSnapshot",
{"Ref" : "AWS::NoValue"},
{"Ref" : "MasterPassword"}
]
},
"DatabaseName": {
"Fn::If" : [
"isUseDBSnapshot",
{"Ref" : "AWS::NoValue"},
{"Ref" : "DBName"}
]
},
"SnapshotIdentifier" : {
"Fn::If" : [
"isUseDBSnapshot",
{"Ref" : "SnapshotIdentifier"},
{"Ref" : "AWS::NoValue"}
]
},
"PreferredBackupWindow": "01:00-02:00",
"PreferredMaintenanceWindow": "mon:03:00-mon:04:00",
"DBSubnetGroupName": {"Ref":"rdsDbSubnetGroup"},
"StorageEncrypted":{"Ref" : "StorageEncrypted"},
"DBClusterParameterGroupName": {"Ref" : "RDSDBClusterParameterGroup"},
"VpcSecurityGroupIds": [{"Ref" : "CommonSGId"}]
}
}

根据AWS RDS CFT doc MasterUserPassword 更新不需要更换集群。

我的 CFT 有什么问题还是 AWS 的问题?

最佳答案

如果您只想更新数据库实例的密码,则不应删除快照标识符。我理解您可能担心恢复快照时会丢失数据。

但是,Cloudformation 的情况并非如此。 Cloudformation 精确检查您所做的更改并执行相关操作。如果您仅更改密码,那么它不会篡改您的数据 - 无论数据处于何种状态。

但是,如果删除快照标识符意味着您想要更改数据库并从中删除快照。因此它将替换您的数据库实例。

查看以下链接,了解有关更改每个参数时会发生什么情况的更多详细信息。 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-snapshotidentifier

它明确规定快照标识符中的任何机会都会导致替换

关于aws-cloudformation - AWS RDS Stack 更新始终替换数据库集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57782123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com