How do I monitor snapshot restore progress in Amazon Redshift?
Last updated: 2020-11-17
I'm restoring a snapshot of my Amazon Redshift cluster. How do I monitor the progress of my snapshot restore?
Amazon Redshift supports three different types of snapshot restore operations:
- Cluster restore: Restores all tables, databases, and metadata from the snapshot to an Amazon Redshift cluster of the same size and node configuration as the source cluster. For information on how to check on the status of your snapshot restore, see Monitoring a cluster restore or cross-instance restore.
- Cross-instance restore: Restores an Amazon Redshift snapshot to a cluster that is a different size or is running a different node type. A cross-instance restore is performed the same way as a Cluster restore. For information on how to check on the status of your snapshot restore, see Monitoring a cluster restore or cross-instance restore.
- Table restore: Restores specific tables and associated metadata from the snapshot to the Amazon Redshift cluster. For information on how to check on the status of your table restore, see Monitoring a table restore.
Important: New clusters that are created from a snapshot inherit the same security privileges and settings as the source cluster. After the snapshot is restored, any changes that are made to the source cluster don't transfer over to the new Amazon Redshift cluster. Additionally, data can't be merged between the source cluster and newly created Amazon Redshift cluster. The same limitation applies to source tables and newly created tables in Amazon Redshift.
Monitoring a cluster restore or cross-instance restore
You can monitor the progress of your cluster restore or cross-instance restore in either of these ways:
- AWS Management Console: View your Amazon Redshift cluster details in the Amazon Redshift console. When your Amazon Redshift cluster restore is in progress, the cluster status is set to Modifying. On the Clusters details page, choose the Maintenance and monitoring tab. The Maintenance and monitoring tab lists the events that confirm the creation of your Amazon Redshift cluster and completion of any data transfers. After the cluster or cross-over instance restore operation completes, the cluster status is set to Available.
- AWS Command Line Interface (AWS CLI): Use the DescribeClusters API to track the progress of your cluster snapshot. The DescribeClusters API indicates snapshot details such as the size, transfer rate, time elapsed, and estimated remaining time in the snapshot restore. Then, check the RestoreStatus entry to see if your snapshot is restored. For more information about snapshot metrics, see RestoreStatus.
Note: If you receive errors when running AWS CLI commands, make sure that you’re using the most recent AWS CLI version
Use the following command syntax to check the status of your snapshot restore:
aws redshift describe-clusters --cluster-identifier <value>
For more information about how to monitor the progress of a cross-instance restore or cluster restore, see Restoring a cluster from a snapshot.
Monitoring a table restore
You can monitor the progress of your table restore in either of these ways:
- AWS Management Console: After the table restore is initiated, the status of the request can be tracked from the Amazon Redshift console. The Backup tab on the Clusters details page lists any restore table requests. The Status tab shows the current state of the request (as SUCCEEDED, FAILED, CANCELED, PENDING, or IN_PROGRESS).
- AWS CLI: Use the describe-table-restore-status command to list the status of one or more table restore requests made using the RestoreTableFromClusterSnapshot API. If you don’t specify a value for the TableRestoreRequestId parameter, then the DescribeTableRestoreStatus API returns the status of all table restore requests. The requests will be listed in ascending order by date and time.
Use the following commands to obtain the status of your table restore:
aws redshift describe-table-restore-status --cluster-identifier <mycluster>
aws redshift describe-table-restore-status --table-restore-request-id <value>