![尝试在 AWS RDS 实例上启用备份复制时出现“目标 KMS 密钥”错误](https://linux22.com/image/785898/%E5%B0%9D%E8%AF%95%E5%9C%A8%20AWS%20RDS%20%E5%AE%9E%E4%BE%8B%E4%B8%8A%E5%90%AF%E7%94%A8%E5%A4%87%E4%BB%BD%E5%A4%8D%E5%88%B6%E6%97%B6%E5%87%BA%E7%8E%B0%E2%80%9C%E7%9B%AE%E6%A0%87%20KMS%20%E5%AF%86%E9%92%A5%E2%80%9D%E9%94%99%E8%AF%AF.png)
我使用 AWS 用户界面创建了一个 RDS 数据库实例,并确保已启用“备份复制”功能,并为用于“加密和解密”用途的对称多区域 KMS 密钥指定了 ARN。数据库创建似乎成功完成。
令我惊讶的是,当我尝试修改 RDS 实例时,“在另一个 AWS 区域启用复制”框仍未选中。因此,我选中了该框,并再次为 KMS 密钥输入了相同的 ARN。当我尝试提交修改时,出现以下错误:
抱歉,您修改数据库实例 rds-mysql-dev-1 的请求失败。目标 KMS 密钥 [arn:aws:kms:us-west-2:REDACTED:key/mrk-REDACTED] 不存在、未启用或您无权访问它。
我仔细检查了 KMS 密钥,发现它已启用。我想也许我需要在“密钥用户”部分添加一个角色,所以我添加了该AWSServiceRoleForRDS
角色。这似乎是唯一有意义的添加角色。但是,当我尝试再次修改 RDS 实例以使用相同的 ARN 启用备份复制时,我得到了与上述相同的错误。
知道可能导致错误的原因是什么吗?
答案1
所以问题在于我在创建 RDS 数据库的同一区域中创建了对称多区域 KMS 密钥。
需要在备份将复制到的区域中创建 KMS 密钥。在该区域中创建对称单区域 KMS 密钥后,我能够修改 RDS 实例以启用备份复制,并且它还允许我在目标区域中选择新的 KMS 密钥。(以前它只允许我输入 ARN,因为目标区域没有定义任何 KMS 密钥。)