我正在还原 Amazon Redshift 集群的快照,我想监控还原进度。
简短描述
Amazon Redshift 支持三种类型的快照还原操作:
-
集群还原: 集群还原可还原快照中的所有表、数据库以及元数据。快照将还原到与源集群大小和节点配置相同的 Amazon Redshift 集群
-
跨实例还原: 跨实例还原会将 Amazon Redshift 快照还原到大小不同或运行不同节点类型的集群。跨实例还原的执行方式与群集还原的执行方式相同。要列出集群的所有可能的节点类型和节点数,请运行下面的查询:
aws redshift describe-node-configuration-options --snapshot-identifier <snapshot-identifier> --region <region> --action-type restore-cluster
-
表还原: 表还原可将快照中的特定表和关联元数据还原到 Amazon Redshift 集群。有关如何检查表还原状态的信息,请参阅监控表还原。
**重要提示:**从快照创建的新集群会继承与源群集相同的安全权限和设置。快照还原后,对源集群所做的任何更改都不会转移到新的 Amazon Redshift 集群。此外,数据不能在源集群和新创建的 Amazon Redshift 集群之间合并。同样的限制也适用于 Amazon Redshift 中的源表和新创建的表。
解决方案
监控集群还原或跨实例还原
**注意:**如果在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请参阅排查 AWS CLI 错误。此外,确保您使用的是最新版本的 AWS CLI。
使用 AWS 管理控制台、Amazon Redshift Events 或 AWS CLI 来监控集群还原或跨实例还原的进度。
AWS 管理控制台
在 Amazon Redshift 控制台中查看您的 Amazon Redshift 集群详细信息。当您的 Amazon Redshift 集群正在还原时,集群状态将设置为正在修改。在集群详细信息页面上,选择维护和监控选项卡。维护和监控选项卡列出了确认创建 Amazon Redshift 集群和完成任何数据传输的事件。在集群或跨实例还原操作完成后,集群状态将设置为可用。
Amazon Redshift Events
要检查集群还原的状态,请查看下面的事件:
- RESTORE_STARTED - REDSHIFT-EVENT-2008: 在还原过程开始时,会发送此事件。
- RESTORE_SUCCEEDED - REDSHIFT-EVENT-3003: 当创建新集群并且该集群可供查询时,会发送此事件。
- DATA_TRANSFER_COMPLETED - REDSHIFT-EVENT-3537: 在数据传输完成时,会发送此事件。
**注意:**RA3 集群仅发出 RESTORE_STARTED 和 RESTORE_SUCCEEDED 事件。由于 RA3 节点类型将数据存储在 Amazon Redshift 托管存储中,因此 RESTORE 成功后不需要进行数据传输。
AWS CLI
使用 DescribeClusters API 来跟踪集群快照的进度。DescribeClusters API 包含快照详细信息,例如大小、传输速率、所用时间以及快照还原的预计剩余时间。然后,检查 RestoreStatus 条目,以查看您的快照是否已还原。有关快照指标的更多信息,请参阅 RestoreStatus。
要检查快照还原的状态,请运行下面的命令:
aws redshift describe-clusters --cluster-identifier <value>
有关更多信息,请参阅 Restoring a cluster from a snapshot。
监控表还原
要监控表还原的进度,请使用 AWS 管理控制台或 AWS CLI。
AWS 管理控制台
启动表还原后,使用 Amazon Redshift 控制台跟踪请求的状态。集群详细信息页面上的备份选项卡列出了任何还原表请求。状态选项卡将请求的当前状态显示为 SUCCEEDED、FAILED、CANCELED、PENDING 或 IN_PROGRESS。
AWS CLI
要使用 AWS CLI 监控表还原,请使用 describe-table-restore-status 命令。describe-table-restore-status 命令列出了使用 RestoreTableFromClusterSnapshot API 提出的一个或多个表还原请求的状态。如果没有为 TableRestoreRequestId 参数指定值,则 DescribeTableRestoreStatus API 会返回所有表还原请求的状态。请求会按日期和时间升序列出。
要查找表还原的状态,请运行下面的命令:
aws redshift describe-table-restore-status --cluster-identifier <mycluster>
aws redshift describe-table-restore-status --table-restore-request-id <value>
相关信息
restore-from-cluster-snapshot