我想解决 Amazon Relational Database Service (Amazon RDS) 实例或 Amazon Aurora 集群的“加密无法访问”状态。
简短描述
当 Amazon RDS 实例或 Amazon Aurora 集群无法访问 AWS Key Management Service (AWS KMS) 加密密钥时,它将进入 inaccessible-encryption-credentials-recoverable 状态。当 AWS KMS 密钥不再处于激活状态或当 AWS 账户被暂停并重新激活时,会发生这种情况。
如果 Amazon RDS 实例或 Amazon Aurora 集群在七天内未恢复,则该实例或集群将过渡到终端状态 inaccessible-encryption-credentials。
您可以使用以下两种方法之一来恢复处于此终端状态的集群: 您可以从备份中恢复集群,也可以执行时间点故障恢复 (PITR)。这些方法中的每一种都要求 AWS KMS 密钥处于已激活状态。如果 AWS KMS 密钥被删除或丢失,数据将无法恢复。
**注意:**为了防止数据丢失,最佳做法是对加密的 Amazon RDS 实例和 Amazon Aurora 集群启用备份。有关详细信息,请参阅确定是否对数据库实例启用加密和确定是否对数据库集群启用加密。
解决方法
**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,确保您使用的是最新版本的 AWS CLI。
Inaccessible-encryption-credentials-recoverable state
要解决 inaccessible-encryption-credentials-recoverable 状态,请完成以下步骤:
-
确认持有 AWS KMS 密钥的 AWS 账户处于活动状态。如果账户被暂停,请重新激活已暂停账户。
-
确认 AWS KMS 密钥已启用。如果 AWS KMS 密钥已关闭,请启用该密钥。
-
检查 AWS KMS 密钥是否已计划删除。如果密钥已计划删除,请取消计划的密钥删除。
-
重启您的 Amazon RDS 实例或 Amazon Aurora 集群:
要重启 Amazon RDS 实例,请运行以下 start-db-instance 命令:
aws rds start-db-instance --db-instance-identifier example-instance
**注意:**将 example-instance 替换为您的 Amazon RDS 实例名称。
要重启您的 Amazon Aurora 集群,请运行以下 start-db-cluster 命令:
aws rds start-db-cluster --db-cluster-identifier example-cluster
**注意:**将 example-cluster 替换为您的 Amazon Aurora 集群名称。
-
(可选)要重启您的 Amazon RDS 实例或 Amazon Aurora 集群,请使用 AWS CloudShell。
Inaccessible-encryption-credentials state
要解决 inaccessible-encryption-credentials 状态,请以新的 Amazon RDS 实例或 Amazon Aurora 集群的身份执行快照还原。或者,在指定时间段内对新的 Amazon RDS 实例或 Amazon Aurora 集群执行 PITR。
删除处于 inaccessible-encryption-credentials 状态的 Amazon RDS 实例或 Amazon Aurora 集群
要删除处于 inaccessible-encryption-credentials 状态的 Amazon RDS 实例或 Amazon Aurora 集群,请运行以下 AWS CLI 命令:
要删除 Amazon RDS 实例,请运行以下 delete-db-instance 命令:
aws rds delete-db-instance --db-instance-identifier example-instance --skip-final-snapshot
**注意:**将 example-instance 替换为您的 Amazon RDS 实例名称。
要删除 Amazon Aurora 集群,请运行以下 delete-db-cluster 命令:
aws rds delete-db-cluster --db-cluster-identifier example-cluster --skip-final-snapshot
**注意:**将 example-cluster 替换为您的 Amazon Aurora 集群名称。
如果 Amazon RDS 实例或 Amazon Aurora 集群在您运行上述命令后未删除,请联系 AWS Support。
相关信息
加密 Amazon RDS 资源
加密 Amazon Aurora 资源