You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨AWS账户恢复共享RDS/PostgreSQL快照问题咨询

解决AWS共享RDS PostgreSQL快照无法恢复的问题

我之前处理过好几起类似的案例,这种情况大多和快照权限配置、跨区域限制或者你的账户权限有关,下面是一步步排查和解决的方法:

1. 确认共享快照的权限是否正确

首先得让共享快照的合作伙伴检查一下权限配置:

  • 他们需要在RDS控制台找到目标快照,点击「操作」→「共享快照」
  • 确认你的AWS账户ID已经被添加到共享列表中,并且权限设置为「Restore」(而不是仅「Copy」)。如果只给了复制权限,你自然只能看到复制/迁移选项,无法直接恢复。

2. 检查快照的状态与类型

  • 确保快照处于**「可用(Available)」**状态,如果快照还在创建中(显示「Creating」)或者处于其他异常状态,恢复选项会被自动隐藏。
  • 另外,自动快照默认无法跨账户共享,所以确认对方共享的是手动快照(如果是自动快照,对方需要先复制成手动快照再共享)。

3. 验证你的IAM权限

检查你当前使用的IAM用户/角色是否拥有rds:RestoreDBInstanceFromDBSnapshot权限:

  • 登录IAM控制台,找到对应的用户/角色,查看附加的策略
  • 如果缺少这个权限,需要添加包含该操作的策略,示例策略片段如下:
    {
        "Effect": "Allow",
        "Action": "rds:RestoreDBInstanceFromDBSnapshot",
        "Resource": [
            "arn:aws:rds:your-region:your-account-id:db:*",
            "arn:aws:rds:your-region:shared-account-id:snapshot:target-snapshot-name"
        ]
    }
    
    (建议遵循最小权限原则,不要直接用*,而是限定具体的资源ARN)

4. 跨区域共享的特殊处理

如果这个快照是从其他AWS区域共享过来的,你无法直接恢复,必须先完成以下步骤:

  1. 使用「复制快照」选项,将快照复制到你当前操作的区域
  2. 等待复制完成(快照状态变为「Available」)
  3. 此时复制后的本地快照就会显示「恢复快照」选项了

5. 用AWS CLI强制尝试恢复(控制台无响应时)

如果以上步骤都确认无误,但控制台还是不显示恢复选项,可以尝试用AWS CLI命令直接发起恢复请求:

aws rds restore-db-instance-from-db-snapshot \
    --db-instance-identifier your-new-db-instance-name \
    --db-snapshot-identifier arn:aws:rds:target-region:shared-account-id:snapshot:snapshot-name

记得替换命令中的参数:

  • your-new-db-instance-name:你要创建的新RDS实例名称
  • target-region:快照所在的AWS区域
  • shared-account-id:共享快照的合作伙伴账户ID
  • snapshot-name:目标快照的名称

内容的提问来源于stack exchange,提问作者burns0907

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:39:34