通过CloudFormation加密Aurora数据库失败,请求确认参数正确性
解决Aurora数据库CloudFormation加密未生效的问题
我来帮你搞定这个加密不生效的问题~你现在的核心错误是把加密配置放错地方了——CloudFormation里Aurora的加密参数根本不是写在Metadata标签下的,这也是控制台显示「未启用加密」的原因。
正确的配置方式
Aurora是集群架构,加密通常在集群级别配置(实例会自动继承集群的加密设置),需要把参数放在资源的Properties属性里,而不是Metadata:
1. 针对AWS::RDS::DBCluster(集群资源)
这是最常见的场景,加密配置需要包含两个关键属性:
StorageEncrypted: 设置为true,用来开启存储加密KmsKeyId: 指定你的KMS密钥ARN(就是你之前用的!Ref EncryptionKeyArn)
示例代码片段:
Resources: MyAuroraCluster: Type: AWS::RDS::DBCluster Properties: Engine: aurora-mysql DBClusterIdentifier: my-aurora-cluster MasterUsername: admin MasterUserPassword: !Ref DBPassword # 加密核心配置 StorageEncrypted: true KmsKeyId: !Ref EncryptionKeyArn # 其他必要属性(比如VpcSecurityGroups、DBSubnetGroupName等)
2. 针对AWS::RDS::DBInstance(单实例场景)
如果是单实例的Aurora部署(不推荐,建议用集群),或者需要单独配置实例加密,同样在Properties里添加:
StorageEncrypted:trueKmsKeyId: 密钥ARN
额外提醒
Metadata标签在CloudFormation里只是用来添加模板的元数据(比如给编辑器提示、AWS Config识别用),完全不会影响RDS资源的实际配置,所以你之前的配置相当于没写。- 如果你的Aurora集群/实例已经创建完成,无法直接修改开启加密,必须通过创建加密快照,再从快照恢复新的加密集群/实例的方式来实现。如果是刚创建的资源,直接修改模板重新部署就行。
内容的提问来源于stack exchange,提问作者Sammy
相关产品推荐
相关产品推荐

