

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 從快照還原叢集
<a name="working-with-snapshot-restore-cluster-from-snapshot"></a>

快照包含的資料來自正在您叢集上執行的任何資料庫。它也包含叢集的相關資訊，包括節點數、節點類型及管理員使用者名稱。如果您從照還原叢集，則 Amazon Redshift 會使用叢集資訊來建立新的叢集。然後，它會從快照資料還原所有資料庫。

**注意**  
RA3 佈建叢集和 Amazon Redshift Serverless 工作群組不支援無備份資料表。在 RA3 叢集或無伺服器工作群組中標記為無備份的資料表會視為永久資料表，且在拍攝快照時一律會備份，並一律在從快照還原時還原。

若為從原始快照建立的新叢集，您可以選擇組態，例如節點類型及節點數。除非您在請求中指定另一個可用區域，否則該叢集將在同一個 AWS 區域和系統隨機選擇的可用區域中還原。從快照還原叢集時，您可以選擇性地為新叢集選擇相容的維護軌道。

**注意**  
搭配不同組態將快照還原至叢集時，必須已在版本為 1.0.10013 或更新版本的叢集上取得快照。

當還原正在進行時，系統通常會以下列順序發出事件：

1. 還原程序開始時，會傳送 RESTORE\$1STARTED – REDSHIFT-EVENT-2008。

1. 建立了新叢集時，會傳送 RESTORE\$1SUCCEEDED – REDSHIFT-EVENT-3003。

   叢集可供查詢使用。

1. 當資料傳輸完成時，會傳送 DATA\$1TRANSFER\$1COMPLETED – REDSHIFT-EVENT-3537。

**注意**  
RA3 叢集只會發出 RESTORE\$1STARTED 和 RESTORE\$1SUCCEEDED 事件。RESTORE 成功後不需要進行明確的資料傳輸，因為 RA3 節點類型會將資料儲存在 Amazon Redshift 受管儲存中。使用 RA3 節點時，資料會在一般查詢的處理過程中，於 RA3 節點和 Amazon Redshift 受管儲存之間持續傳輸。RA3 節點會在本機快取熱資料，並在 Amazon Redshift 受管儲存中自動保留較不常查詢的區塊。

您可以呼叫 [DescribeClusters](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html) API 操作，或在 AWS 管理主控台檢視叢集詳細資訊，以監控還原進度。有關正在進行的還原，這些資訊顯示了例如快照資料的大小、傳輸速率、經過時間和預估剩餘時間。如需這些指標的說明，請參閱 [RestoreStatus](https://docs.aws.amazon.com/redshift/latest/APIReference/API_RestoreStatus.html)。

您不得使用快照將作用中的叢集還原至上一個狀態。

**注意**  
當您還原快照至新叢集時，除非您指定了不同的值，否則將會使用預設安全群組與參數群組。

基於下列原因，您可能想要搭配不同組態將快照還原至叢集：
+ 當叢集是由更小的節點類型組成，而且您想要將其合併成更大的節點類型，而節點更少時。
+ 當您已監控工作負載並判定需要移至 CPU 及儲存空間更多的節點類型時。
+ 當您想要利用不同節點類型來測量測試工作負載的效能時。

「還原」有下列限制：
+ 新節點組態必須具有足夠儲存體可放置現有資料。即使在新增節點時，您的新組態可能因為資料的重新配送方式而沒有足夠儲存體。
+ 還原操作會檢查快照是否建立在與新叢集的叢集版本相容的叢集版本上。如果新叢集的版本層級太早，則還原操作會失敗，並且會在錯誤訊息中報告詳細資訊。
+ 您可以還原的可能組態 (節點數目和節點類型) 取決於原始叢集中的節點數目，以及新叢集的目標節點類型。若要判斷可用的組態，您可以使用 Amazon Redshift 主控台或 `describe-node-configuration-options` AWS CLI 命令搭配 `action-type restore-cluster`。如需使用 Amazon Redshift 主控台還原的相關資訊，請參閱[從快照還原叢集](#working-with-snapshot-restore-cluster-from-snapshot)。

下列步驟會使用 AWS CLI取得具有許多節點的叢集，並將其合併為更大的節點類型，而節點數更小。在此範例中，我們從 24 個 節點構成的來源叢集開始。在此情況下，假設我們已建立此叢集的快照，而且想要將其還原至更大的節點類型。

1.  執行下列命令來取得我們 24 節點 叢集的詳細資訊。

   ```
   aws redshift describe-clusters --region eu-west-1 --cluster-identifier mycluster-123456789012
   ```

1. 執行下列命令來取得快照的詳細資訊。

   ```
   aws redshift describe-cluster-snapshots --region eu-west-1 --snapshot-identifier mycluster-snapshot
   ```

1. 執行下列命令來描述可供此快照使用的選項。

   ```
   aws redshift describe-node-configuration-options --snapshot-identifier mycluster-snapshot --region eu-west-1 --action-type restore-cluster
   ```

   此命令會傳回一個具有所建議節點類型的選項清單、節點數，以及每個選項的磁碟使用率。在此範例中，上述命令列出下列可能的節點組態。我們選擇還原至三節點 叢集。

   ```
   {
       "NodeConfigurationOptionList": [
           {
               "EstimatedDiskUtilizationPercent": 65.26134808858235,
               "NodeType": "dc2.large",
               "NumberOfNodes": 24
           },
           {
               "EstimatedDiskUtilizationPercent": 32.630674044291176,
               "NodeType": "dc2.large",
               "NumberOfNodes": 48
           },
           {
               "EstimatedDiskUtilizationPercent": 65.26134808858235,
               "NodeType": "dc2.8xlarge",
               "NumberOfNodes": 3
           },
           {
               "EstimatedDiskUtilizationPercent": 48.94601106643677,
               "NodeType": "dc2.8xlarge",
               "NumberOfNodes": 4
           },
           {
               "EstimatedDiskUtilizationPercent": 39.156808853149414,
               "NodeType": "dc2.8xlarge",
               "NumberOfNodes": 5
           },
           {
               "EstimatedDiskUtilizationPercent": 32.630674044291176,
               "NodeType": "dc2.8xlarge",
               "NumberOfNodes": 6
           }
       ]
   }
   ```

1. 執行下列命令，將快照還原至我們選擇的叢集組態。在還原叢集之後，我們具有與來源叢集相同的內容，但資料已合併為三個 `dc2.8xlarge` 節點。

   ```
   aws redshift restore-from-cluster-snapshot --region eu-west-1 --snapshot-identifier mycluster-snapshot --cluster-identifier mycluster-123456789012-x --node-type dc2.8xlarge --number-of-nodes 3
   ```

如果您有預留節點 (例如 DC2 預留節點)，則可以升級至 RA3 預留節點。您可以在從快照還原時或在執行彈性調整大小時進行此升級。您可以使用主控台來引導您完成此程序。如需升級至 RA3 節點的相關資訊，請參閱[升級至 RA3 節點類型](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-upgrading-to-ra3)。

**在主控台上從快照還原叢集**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)：// 開啟 Amazon Redshift 主控台。

1. 在導覽功能表中，選擇**叢集**、**快照**，然後選擇要還原的快照。

1. 選擇 **Restore from snapshot (從快照還原)** 以檢視要使用快照資訊建立之新叢集的 **Cluster configuration (叢集組態)** 和 **Cluster details (叢集詳細資訊)** 值。

1. 更新新叢集的屬性，然後選擇 **Restore cluster from snapshot (從快照還原叢集)**。

還原叢集快照後，還原的資料倉儲會使用拍攝快照時所使用的相同自訂 AWS KMS 金鑰進行加密。如果快照沒有自訂 KMS 金鑰，Amazon Redshift 的備份加密邏輯會取決於下列因素：
+ 您要還原快照的目標 Amazon Redshift 資料倉儲類型。
+ 拍攝快照時叢集的加密類型。

若要了解從叢集快照還原資料倉儲後，資料倉儲如何進行加密，請參閱下表：


| 目的地類型 | 快照加密類型 | 目的地加密類型 | 
| --- | --- | --- | 
|  佈建叢集  |  使用 加密 AWS 受管金鑰  |  使用 加密 AWS 受管金鑰  | 
|  佈建叢集  |  使用 加密 AWS 擁有的金鑰  |  使用 加密 AWS 擁有的金鑰  | 
|  無伺服器命名空間  |  使用 加密 AWS 受管金鑰  |  使用 加密 AWS 擁有的金鑰  | 
|  無伺服器命名空間  |  使用 加密 AWS 擁有的金鑰  |  使用 加密 AWS 擁有的金鑰  | 

如果在拍攝快照時 AWS Secrets Manager 管理叢集的管理員密碼，您必須繼續使用 AWS Secrets Manager 來管理管理員密碼。您可以在還原叢集之後，透過在叢集詳細資訊頁面中更新叢集的管理員憑證，以選擇不使用機密。

如果您有預留節點，則可以升級至 RA3 預留節點。您可以在從快照還原時或在執行彈性調整大小時進行此升級。您可以使用主控台來引導您完成此程序。如需升級至 RA3 節點的相關資訊，請參閱[升級至 RA3 節點類型](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-upgrading-to-ra3)。