如何以编程方式将 AWS Redshift 集群快照还原到不同 AWS 账户中的 Redshift 无服务器命名空间

问题描述 投票:0回答:0

在我们的 Prod AWS 账户中,我通过 Powershell 为我们的 Redshift 集群拍摄了一个手动快照,如下所示: New-RSClusterSnapshot -SnapshotIdentifier test -ClusterIdentifier Prod_RS_Cluster -ManualSnapshotRetentionPeriod 2 -选择*

我像这样以编程方式共享对 DEV 帐户 (123456789123) 的访问权限: 批准-RSSnapshotAccess -SnapshotIdentifier test -AccountWithRestoreAccess '123456789123' -SnapshotClusterIdentifier rod_RS_Cluster -Select * 它本质上就像点击“操作 - 提供对配置帐户的访问”

问题一: 我如何以编程方式对“操作 - 提供对无服务器帐户的访问”做同样的事情????

我不知道怎么做,所以我手动做。

现在我转到我的 DEV 帐户,登录,我可以通过导航到“数据备份”,选择我可以看到的快照并在“操作”下选择“恢复到无服务器命名空间”,手动将该快照恢复到无服务器命名空间。 问题2: 我如何以编程方式做到这一点?

我试过: Restore-RSSFromSnapshot -NamespaceName test-serverless-qa -SnapshotName test -WorkgroupName test-workgroup-qa -OwnerAccount '987654321987' -选择 *

当我运行上面的命令时,出现错误“找不到快照测试。请检查快照是否存在以及是否由帐户 123456789123 拥有或共享。

奇怪的是,当我查看生产帐户上的快照时,在“快照访问”下它显示开发帐户具有访问权限(在“具有恢复访问权限的帐户”下)。在添加这个之前,我不会在 Dev 中看到快照。然而,当我以相同的方式从 Dev 查看快照时,它并没有显示 Dev 帐户具有访问权限。如果我点击“编辑”并尝试添加 DEV 帐户,我会收到找不到快照的错误消息! (没错,我刚刚导航到并正在编辑的同一快照:)

我看到 RDS 有一个“Edit-RDSDBClusterSnapshotAttribute Cmdlet”,doco 声明“要与其他 Amazon Web Services 帐户共享手动数据库集群快照,请将 restore 指定为 AttributeName 并使用 ValuesToAdd 参数添加 ID 列表有权恢复手动数据库集群快照的 Amazon Web Services 帐户。”我想我需要类似的东西用于 REDSHIFT,但似乎只适用于 RDS。 https://docs.aws.amazon.com/powershell/latest/reference/index.html?page=Restore-RSSFromSnapshot.html&tocid=Restore-RSSFromSnapshot

对问题 1 或 2 的任何建议将不胜感激:)

powershell automation amazon-redshift serverless snapshot
© www.soinside.com 2019 - 2024. All rights reserved.