

 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/)。

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

# Amazon Redshift 快照和備份
<a name="working-with-snapshots"></a>

快照是叢集的時間點備份。有兩種類型的快照：自動**和手動**。Amazon Redshift 會透過使用加密的 Secure Sockets Layer (SSL) 連線，將這些快照儲存在 Amazon S3 內部。

Amazon Redshift 會自動取得增量快照，以追蹤自上一個自動快照以來對叢集的變更。自動快照會保留所有需要的資料以從快照還原叢集。您可以建立快照排程以控制何時進行自動快照，或隨時手動進行快照。

當您從快照進行還原時，Amazon Redshift 會建立一個新的叢集，並在所有資料載入之前讓新叢集可供使用，以便您立即查詢新叢集。叢集會隨需從快照中串流資料以回應活動查詢，然後在背景載入剩餘資料。

當您啟動叢集時，您可以為自動和手動快照設定保留期間。您可以經由修改叢集，以變更自動和手動快照的預設保留期間。您可以在建立快照時，或經由修改快照，以變更手動快照的保留期間。

您可以在 中檢視快照詳細資訊 AWS 管理主控台，或在 CLI 或 [DescribeClusterSnapshots](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterSnapshots.html) API 動作中呼叫 [describe-cluster-snapshots](https://docs.aws.amazon.com/cli/latest/reference/redshift/describe-cluster-snapshots.html)，以監控快照的進度。有關正在進行的快照，這些資訊顯示了例如增量快照的大小、傳輸速率、經過時間和預估剩餘時間。

為了確保您的備份永遠可供叢集使用，Amazon Redshift 會將快照儲存在由 Amazon Redshift 管理的內部受管 Amazon S3 儲存貯體中。若要管理儲存費用，請評估您需要保留自動快照的天數，並相應地設定其保留期。刪除您不再需要的任何手動快照。如需備份儲存成本的相關資訊，請參閱 [Amazon Redshift 定價](https://aws.amazon.com/redshift/pricing/)頁面。

您也可以使用全受管服務建立和還原快照 AWS Backup，該服務可協助您集中和自動化跨 AWS 服務、雲端和內部部署的資料保護。如需詳細資訊，請參閱[AWS Backup 與 Amazon Redshift 整合](managing-aws-backup.md)。如需 的資訊 AWS Backup，請參閱《 *AWS Backup 開發人員指南*》中的[什麼是 AWS Backup？](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)。

## 在 Amazon Redshift Serverless 中使用快照和備份
<a name="working-with-snapshots-serverless"></a>

Amazon Redshift Serverless 如同佈建叢集，可讓您將備份作為命名空間中物件和資料的時間點表示。Amazon Redshift Serverless 中的備份類型有兩種：手動建立的快照，以及 Amazon Redshift Serverless 自動建立的復原點。您可以在[快照和復原點](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery-points.html)中找到有關使用 Amazon Redshift Serverless 快照的詳細資訊。

您也可以從佈建叢集將快照還原至無伺服器命名空間。如需詳細資訊，請參閱[從快照還原無伺服器命名空間](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshot-restore.html)。

## 自動快照
<a name="about-automated-snapshots"></a>

當叢集的自動快照已啟用時，Amazon Redshift 將定期為該叢集建立快照。Amazon Redshift 預設約每 8 小時或每節點資料變更 5 GB 時拍攝一次，以先到者為準。如果您的資料大於 5 GB \$1 節點數，則兩次自動建立快照之間的最短間隔時間為 15 分鐘。或者，您可以建立快照排程以控制何時進行自動快照。如果您使用自訂排程，則兩次自動快照之間的最短間隔時間為一小時。依據預設，當您建立叢集時，將會啟用自動快照。

在保留期間結束後，自動快照將永久刪除。預設保留期間為一日，但您可以使用 Amazon Redshift 主控台或使用 Amazon Redshift API 或 CLI 以程式設計方式進行修改。

若要停用自動快照，請將保留期間設定為 zero (零)。若您停用了自動快照，Amazon Redshift 將停止拍攝快照並刪除叢集的任何現有自動快照。您無法停用 RA3 節點類型的自動快照。您可以設定 1 到 35 天的 RA3 節點類型自動保留期。

只有 Amazon Redshift 可以刪除自動快照；您無法手動刪除自動快照。在自動快照的保留期結束時、停用叢集的自動快照時，或當您刪除叢集時，Amazon Redshift 會刪除自動快照。*Amazon Redshift 會保留最新的自動快照，直到您停用自動快照或刪除叢集為止。*

如果想要讓自動快照保留期間更長，請建立該快照複本以做為手動快照。自動快照會保留到保留期間結束為止，但對應的手動快照會保留到您手動刪除它為止，或直到保留期間結束為止。

## 自動快照排程
<a name="automated-snapshot-schedules"></a>

若要精確控制何時進行快照，您可以建立快照排程，並將它連接至一或多個叢集。當您修改快照排程時，所有相關聯叢集的排程都會修改。如果叢集沒有連接快照排程，將會使用預設的自動快照排程。

*快照排程*是一組排程規則。您可以指定時間間隔來定義簡單的排程規則，例如每 8 小時或每 12 小時。您也可以新增規則，在特定的週中的日、指定的時間或特定期間進行快照。您也可以使用類似 Unix 的 cron 運算式來定義規則。

## 快照排程格式
<a name="working-with-snapshot-scheduling"></a>

您可以在 Amazon Redshift 主控台建立快照排程。然後，您可以將排程連接至叢集以觸發系統快照的建立。一個排程可連接至多個叢集，而且您可以在一個排程中建立多個 cron 定義來觸發快照。

您可以使用 cron 語法為您的快照定義排程。這些排程的定義使用經過修改且類似 Unix 的 [cron​](http://en.wikipedia.org/wiki/Cron) 語法。您以[國際標準時間 (UTC)](http://en.wikipedia.org/wiki/Coordinated_Universal_Time) 指定時間。您可以用最大頻率 1 小時以及最小單位 1 分鐘來建立排程。

Amazon Redshift 修改的 cron 運算式有 3 個必要欄位，並且會以空格隔開。

**語法**

```
cron(Minutes Hours Day-of-month Month Day-of-week Year)
```


| **欄位** | **Values (數值)** | **萬用字元** | 
| --- | --- | --- | 
|  分鐘  |  0–59  |  , - \$1 /   | 
|  小時  |  0–23  |  , - \$1 /   | 
|  月中的日  |  1–31  |  , - \$1 ? / L W  | 
|  月  |  1-12 或 JAN-DEC  |  , - \$1 /  | 
|  週中的日  |  1-7 或 SUN-SAT  |  , - \$1 ? L \$1  | 
|  年  |  1970-2199  |  , - \$1 /  | 

**萬用字元**
+ **,** (逗號) 萬用字元包含額外的值。在 `Day-of-week` 欄位，`MON,WED,FRI` 包括週一、週二和週三。每個欄位的總數值限制為 24。
+ **-** (破折號) 萬用字元用於指定範圍。在 `Hour` 欄位中，1–15 會包含指定日的 1 至 15 時。
+ **\$1** (星號) 包含欄位中所有的值。在 `Hours` 欄位，**\$1** 包含每個小時。
+ **/** (斜線) 萬用字元用於指定增量。在 `Hours` 欄位，您可以輸入 **1/10** 指定每第 10 小時，從一天的第一小時開始 (例如 01:00、11:00 和 21:00)。
+ **?** (問號) 萬用字元用於表示不限定任何一個。在 `Day-of-month` 欄位，您可以輸入 **7**，如果您不在意這個月的 7 號是星期幾，就可以在 Day-of-week (週中的日) 欄位中輸入 **?**。
+ **L** 萬用字元在 `Day-of-month` 或 `Day-of-week` 欄位可指定月份或週的最後一天。
+ **W** 萬用字元在 `Day-of-month` 欄位可指定任務日。在 `Day-of-month` 欄位，`3W` 指定的是月份中最接近第三個任務日的日子。
+ **\$1** 萬用字元在 Day-of-week (週中的日) 欄位可指定某個月中某週特定日子的特定執行個體。例如，3\$12 代表則該月的第二個星期二：3 是指星期二，因為它是每週的第三天，2 指的是一個月內該類型的第二天。
**注意**  
如果您使用 '\$1' 字元，則只能在星期幾欄位中定義一個表達式。例如："3\$11,6\$13" 是無效的，因為它被轉譯為兩個表達式。

**限制**
+ 您無法在同一個 cron 表達式中指定 `Day-of-month` 和 `Day-of-week` 欄位。如果您在其中一個欄位指定了數值，就必須在另一個欄位中使用 **?** (問號)​。
+ 快照排程不支援下列頻率：
  + 快照排程頻率超過每小時 1 次。
  + 快照排程頻率低於每天 (24 小時) 1 次。

  如果您有重疊的排程，導致 1 個小時內有多個排程快照，將會產生驗證錯誤。

建立排程時，您可以使用下列 cron 字串範例。


| 分鐘 | 小時 | 週中的日 | 意義 | 
| --- | --- | --- | --- | 
|  0  |  14-20/1  |  TUE  |  週二下午 2 點至 8 點，每小時一次。  | 
|  0  |  21  |  MON-FRI  |  週一至週五每天晚上 9 點。  | 
|  30  |  0/6  |  SAT-SUN  |  週六和週日每 6 小時增量，從當日午夜後 30 分鐘開始 (00:30)。結果是在每天 [00:30、06:30、12:30 和 18:30] 進行快照。  | 
|  30  |  12/4  |  \$1  |  每天 12:30 開始每 4 小時增量。這解析為 [12:30、16:30、20:30]。  | 

舉例來說，如果要執行排程，在每天的 15:15 開始每 2 小時增量。這解析為 [15:15、17:15、19:15、21:15、23:15]，指定：

```
cron(15 15/2 *)   
```

您可以在排程中建立多個 cron 排程定義。例如，下列 AWS CLI 命令在一個排程中包含兩個 Cron 排程。

```
create-snapshot-schedule --schedule-identifier "my-test" --schedule-definition "cron(0 17 SAT,SUN)" "cron(0 9,17 MON-FRI)"   
```

## 手動快照
<a name="about-manual-snapshots"></a>

您可以隨時建立手動快照。在預設情況下，即使刪除叢集，手動快照也會無限期地保留。您可以在建立手動快照時指定保留期間，或經由修改快照以變更保留期間。如需變更保留期的相關資訊，請參閱[修改手動快照保留期](snapshot-manual-retention-period.md)。

若刪除快照，您便無法開始任何參考該快照的新操作。不過，若一個還原操作正在處理中，該還原操作將會繼續執行至完成為止。

Amazon Redshift 具有配額，可限制您可以建立的手動快照總數；此配額是每個 AWS 區域每個 AWS 帳戶。[Amazon Redshift 中的配額和限制](amazon-redshift-limits.md)中會列出預設配額。

## 快照儲存
<a name="managing-snapshot-storage"></a>

由於快照會產生儲存費用，當您不再需要快照時，務必刪除它們。Amazon Redshift 會在各自的快照保留期結束時刪除自動和手動快照。您也可以使用 AWS 管理主控台 或 [batch-delete-cluster-snapshots](https://docs.aws.amazon.com/cli/latest/reference/redshift/batch-delete-cluster-snapshots.html) CLI 命令刪除手動快照。

您可以修改手動快照設定，以變更手動快照的保留期間。

您可以使用 Amazon Redshift 主控台或使用 [describe-storage](https://docs.aws.amazon.com/cli/latest/reference/redshift/describe-storage.html) CLI 命令，以取得您的快照耗用多少儲存的相關資訊。

## 從快照排除資料表
<a name="snapshots-no-backup-tables"></a>

依預設，所有使用者定義的永久資料表都包含在快照中。如果不需要備份資料表 (例如臨時資料表)，則可以大幅減少建立快照和從快照還原所需的時間。您也可以使用不備份資料表以在 Amazon S3 上減少儲存空間。若要建立不備份資料表，請在建立資料表時使用 BACKUP NO 參數。如需詳細資訊，請參閱《Amazon Redshift 資料庫開發人員指南》**中的 [CREATE TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_NEW.html) 和 [CREATE TABLE AS](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_AS.html)。

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

# 建立手動快照
<a name="snapshot-create"></a>

您可從快照清單手動建立叢集的快照，方式如下。或者，您也可從叢集組態窗格建立叢集快照。如需詳細資訊，請參閱[Amazon Redshift 快照和備份](working-with-snapshots.md)。

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

**建立手動快照**

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

1. 在導覽功能表中，選擇**叢集**、**快照**，然後選擇**建立快照**。建立手動快照的快照頁面即會出現。

1. 輸入快照定義屬性，然後選擇**建立快照**。可能要等一會兒才能使用此快照。

# 建立快照排程
<a name="snapshot-schedule-create"></a>

Amazon Redshift 會定期對資料建立自動增量快照，並將快照儲存至 Amazon S3。此外，您隨時都可以手動建立資料快照。

Amazon Redshift 主控台所有的快照作業都從快照清單中啟動。您可使用時間範圍、快照類型，以及與快照相關聯的叢集來篩選快照清單。此外，您可以依日期、大小和快照類型排序清單。快照上可用的選項各不相同，視所選的快照類型而定。

若要精確控制何時進行快照，您可以建立快照排程，並將它連接至一或多個叢集。您可以在建立叢集時附加排程，或修改叢集來附加排程。如需詳細資訊，請參閱[自動快照排程](working-with-snapshots.md#automated-snapshot-schedules)。

**建立快照排程**

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

1. 在導覽功能表中，選擇**叢集**、**快照**，然後選擇**快照排程**索引標籤。快照排程即會出現。

1. 選擇 **Add schedule (新增排程)** 以顯示新增排程的頁面。

1. 輸入排程定義的屬性，然後選擇 **Add schedule (新增排程)**。

1. 在出現的頁面中，您可將叢集連接至新的快照排程，然後選擇 **OK (確定)**。

# 共用快照
<a name="working-with-snapshot-share-snapshot"></a>

您可以透過授權存取快照，與其他 AWS 客戶帳戶共用現有的手動快照。每個快照最多可授權 20 個，每個 AWS Key Management Service (AWS KMS) 金鑰最多可授權 100 個。也就是說，如果您有 10 個使用單一 KMS 金鑰加密的快照，則可以授權 10 個 AWS 帳戶還原每個快照，或其他組合，這些組合最多可新增 100 個帳戶，且每個快照不超過 20 個帳戶。在其中一個已授權帳戶登入為使用者的人員，接下來可以描述快照或將其還原，以在其帳戶下建立新的 Amazon Redshift 叢集。例如，如果您使用個別 AWS 的客戶帳戶進行生產和測試，使用者可以使用生產帳戶登入，並與測試帳戶中的使用者共用快照。某人若以測試帳戶使用者身分登入，他接下來可以還原快照以建立由測試帳戶所擁有的新叢集，以進行測試或診斷工作。

手動快照由建立該快照 AWS 的客戶帳戶永久擁有。僅有在帳戶中擁有快照的使用者，方可授權或撤銷其他帳戶存取該快照。在已授權帳戶中的使用者僅可描述或還原任何與他們分享的快照；他們不得複製或刪除與他們分享的快照。授權將持續生效，除非快照擁有者撤銷之。若授權被撤銷，之前授權的使用者將無法看見該快照，也不能啟動任何參考該快照的新動作。若存取權被撤銷時帳戶正在還原該快照，則該還原會持續進執行至完成。您不得刪除有主動授權的快照；您必須先撤銷所有的授權。

AWS 客戶帳戶一律有權存取帳戶擁有的快照。試圖授權或撤銷擁有者帳戶的存取權將會收到錯誤。您無法還原或描述非作用中 AWS 客戶帳戶擁有的快照。

在您授權存取 AWS 客戶帳戶之後，該帳戶中的任何使用者都無法在快照上執行任何動作，除非他們擔任具有允許他們這樣做之政策的角色。
+ 只有當快照擁有者帳戶中的使用者所擔任的角色有 IAM 政策允許他們執行使用包含快照的資源規格動作，他們才可授權或撤銷快照的存取權。例如，下列政策允許 AWS 帳戶中的使用者或角色`012345678912`授權其他帳戶存取名為 的快照`my-snapshot20130829`：

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement":[
      {
        "Effect":"Allow",
        "Action":[
            "redshift:AuthorizeSnapshotAccess",
            "redshift:RevokeSnapshotAccess"
            ],
        "Resource":[
             "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829"
            ]
      }
    ]
  }
  ```

------
+ 已共用快照 AWS 之帳戶中的使用者無法對該快照執行動作，除非他們具有允許這些動作的許可。您可以透過將政策指派給某個角色並擔任該角色來執行此操作。
  + 列出或描述快照；他們必須擁有允許 `DescribeClusterSnapshots` 動作的 IAM 政策。下列代碼顯示了範例：

------
#### [ JSON ]

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
        {
          "Effect":"Allow",
          "Action":[
              "redshift:DescribeClusterSnapshots"
              ],
          "Resource":[
               "*"
              ]
        }
      ]
    }
    ```

------
  + 若要還原快照，使用者所擔任的角色必須擁有允許 `RestoreFromClusterSnapshot` 動作的 IAM 政策，並擁有涵蓋嘗試建立的叢集與快照的資源元素。例如，若帳戶 `012345678912` 中的使用者已經與帳戶 `my-snapshot20130829` 分享快照 `219876543210`，以透過還原快照來建立叢集，則帳戶 `219876543210` 中的使用者所擔任的角色必須擁有的政策如下所示：

------
#### [ JSON ]

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
        {
          "Effect":"Allow",
          "Action":[
              "redshift:RestoreFromClusterSnapshot"
              ],
          "Resource":[
               "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829",
               "arn:aws:redshift:us-east-1:219876543210:cluster:from-another-account"
              ]
        }
      ]
    }
    ```

------
  + 從 AWS 帳戶撤銷快照的存取權後，該帳戶中的任何使用者都無法存取快照。即使這些帳戶有 IAM 政策允許對之前共用的快照資源執行動作也一樣。

## 使用主控台共用叢集快照
<a name="snapshot-share"></a>

在主控台上，您可授權其他使用者存取您所擁有的手動快照，之後不需要時也可撤銷存取權。

**與其他帳戶共用快照**

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

1. 在導覽功能表上，選擇**叢集**、**快照**，然後選擇要共用的手動快照。

1. 針對 **Actions (動作)**，選擇 **Manual snapshot settings (手動快照設定)** 以顯示手動快照的屬性。

1. 在 **Manage access (管理存取)** 區段輸入要共用的一或多個帳戶，然後選擇 **Save (儲存)**。

## 共用加密快照時的安全考量
<a name="snapshot-share-access-kms-key"></a>

 當您提供加密快照的存取權時，Redshift 會要求將用來建立快照的 AWS KMS 客戶受管金鑰共用給執行還原的一或多個帳戶。如果金鑰未共用，嘗試還原快照會導致存取遭拒錯誤。接收帳戶不需要任何額外權限即可還原共用快照。當您授權快照存取權並共用金鑰時，授權存取權的身分必須具有用來加密快照之金鑰的 `kms:DescribeKey` 許可。[AWS KMS 權限](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html)中有此許可的更詳細描述。如需詳細資訊，請參閱 Amazon Redshift AI 參考文件中的 [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)。

客戶受管金鑰政策可透過程式設計方式或在 AWS Key Management Service 主控台上更新。

**注意**  
如果您使用預設 KMS 金鑰，則不需要在 AWS KMS 中執行動作或變更任何內容，即可共用快照。

### 允許存取加密快照的 AWS KMS 金鑰
<a name="snapshot-share-access-kms-key-allowing-access"></a>

若要共用加密快照的 AWS KMS 客戶受管金鑰，請執行下列步驟來更新金鑰政策：

1. 將 KMS 金鑰政策更新為您在 KMS 金鑰政策中，當作 `Principal` 共用之 AWS 帳戶的 Amazon Resource Name (ARN)。

1.  允許 `kms:Decrypt` 動作。

在以下金鑰政策範例中，使用者 `111122223333` 是 KMS 金鑰的擁有者，使用者 `444455556666` 是與其共用該金鑰的帳戶。此金鑰政策可讓 AWS 帳戶存取範例 KMS 金鑰，方法是將使用者的根 AWS 帳戶身分 ARN `444455556666`做為政策`Principal`的 ，以及允許 `kms:Decrypt`動作。

------
#### [ JSON ]

****  

```
{
    "Id": "key-policy-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/KeyUser",
                    "arn:aws:iam::444455556666:root"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------

將存取權授予客戶受管 KMS 金鑰後，還原加密快照的帳戶必須建立 AWS Identity and Access Management (IAM) 角色，如果尚未擁有使用者，則必須建立該角色或使用者。此外，該 AWS 帳戶也必須將 IAM 政策連接至該 IAM 角色或使用者，以允許他們使用您的 KMS 金鑰還原加密的資料庫快照。

如需授予 AWS KMS 金鑰存取權的詳細資訊，請參閱開發人員指南中的[允許其他帳戶中的使用者使用 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console)。 AWS Key Management Service 

如需金鑰政策的概觀，請參閱 [Amazon Redshift 如何使用 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-redshift.html)。

# 複製自動化快照
<a name="snapshot-copy"></a>

當快照的保留期間結束，當您停用自動快照，或當您刪除叢集時，系統會自動刪除自動快照。如果想要保留自動快照，可將其複製到手動快照。

**複製自動快照**

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

1. 在導覽功能表上，選擇**叢集**、**快照**，然後選擇要複製的快照。

1. 針對 **Actions (動作)**，選擇 **Copy automated snapshot (複製自動快照)** 以複製快照。

1. 更新新快照的屬性，然後選擇 **Copy (複製)**。

# 將快照複製到另一個 AWS 區域
<a name="cross-region-snapshot-copy"></a>

您可以設定 Amazon Redshift 自動將叢集的快照 （自動或手動） 複製到另一個 AWS 區域。在叢集的主要 AWS 區域中建立快照時，快照會複製到次要 AWS 區域。這兩個 AWS 區域分別稱為*來源 AWS 區域*和*目的地 AWS 區域*。如果您在另一個 AWS 區域中存放快照的副本，如果有任何內容影響主要 AWS 區域，您可以從最近的資料還原叢集。您可以設定叢集一次只將快照複製到一個目的地 AWS 區域。如需 Amazon Redshift 區域的清單，請參閱《Amazon Web Services 一般參考》**中的[區域與端點](https://docs.aws.amazon.com/general/latest/gr/rande.html)。

當您讓 Amazon Redshift 自動將快照複製到另一個 AWS 區域時，您可以指定要複製快照的目的地 AWS 區域。對於自動快照，您也可以指定保留期間，以將其保留在目的地 AWS 區域中。自動快照複製到目的地 AWS 區域且達到該區域的保留期間後，就會從目的地 AWS 區域刪除該快照。執行此動作讓您的快照保持低使用率。若要在目的地 AWS 區域中保留較短或較長的自動快照，請變更此保留期間。

您為複製到目的地 AWS 區域的自動快照設定的保留期與來源區域中自動快照的保留期不同 AWS 。預設快照複本的保留期間為 7 天。該 7 日的保留期間僅適用於自動快照。在來源和目的地 AWS 區域中，手動快照會在快照保留期間結束時或您手動刪除時刪除。

您可隨時停用叢集的自動快照複製。當您停用此功能時，快照不會再從來源 AWS 區域複製到目的地 AWS 區域。任何複製到目的地 AWS 區域的自動快照都會在達到保留期間限制時刪除，除非您手動建立快照複本。這些手動快照以及從目的地 AWS 區域複製的任何手動快照都會保留在目的地 AWS 區域中，直到您手動刪除為止。

若要變更您複製快照的目標 AWS 區域，請先停用自動複製功能。然後，重新啟用它，同時指定新的目的地 AWS 區域。

將快照複製到目的地 AWS 區域之後，快照會變成作用中，並可用於還原目的。

若要將 AWS KMS加密叢集的快照複製到另一個 AWS 區域，請建立授予 Amazon Redshift 在目的地區域中使用客戶受管金鑰 AWS 。然後在來源 AWS 區域中啟用快照複製時選擇該授予。如需設定跨區域快照複本授權的相關資訊，請參閱 [將 AWS KMS加密的快照複製到另一個快照 AWS 區域](working-with-db-encryption.md#configure-snapshot-copy-grant)。

# 從快照還原叢集
<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)。

# 從快照還原資料表
<a name="working-with-snapshot-restore-table-from-snapshot"></a>

您可以從快照來還原單一資料表，而無須還原整個叢集。當您自快照還原單一資料表時，您將指定來源快照、資料庫、結構描述與資料表名稱，以及還原的資料表目標資料庫、結構描述和新名稱。

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

新資料表名稱不能與現有資料表名稱重複。若您要將從快照還原的資料表取代現有資料表，請在從快照還原之前先重新命名或刪除現有資料表。

已使用資料表的欄位定義、資料表屬性和欄位屬性 (外部索引鍵除外) 建立目標資料表。為避免因相依性而導致的衝突，目標資料表不會從來源資料表繼承外部索引鍵。任何相依性，例如檢視或來源資料表上授予的許可，都不會套用至目標資料表。

若來源資料表存在擁有者，則該資料庫使用者是已還原資料表的擁有者，前提是該使用者有足夠的許可以成為指定資料庫和結構描述中關係的擁有者。否則，還原的資料表將由啟動叢集時建立的管理員使用者所擁有。

還原的資料表會恢復到備份時所處的狀態。這包括由 Amazon Redshift 符合[可序列化的隔離](https://docs.aws.amazon.com/redshift/latest/dg/c_serial_isolation.html)所定義的交易可見度規則，這表示在備份後開始傳送的交易中立刻可看見該資料。

以下為從快照還原資料表的限制：
+ 您只能將資料表還原至目前、活動執行中的叢集；以及從該叢集拍攝的快照中還原資料表。
+ 您一次只能還原一個資料表。
+ 您無法從叢集調整大小前拍攝的叢集快照還原資料表。例外情況是，如果節點類型沒有變更，您可以在彈性調整大小之後還原資料表。
+ 任何相依性，例如檢視或來源資料表上授予的許可，都不會套用至目標資料表。
+ 如果為要還原的資料表開啟了資料列層級安全，Amazon Redshift 會在開啟資料列層級安全的情況下還原資料表。

**從快照還原資料表**

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

1. 在導覽功能表上，選擇**叢集**，然後選擇用以還原資料表的叢集。

1. 針對 **Actions (動作)**，選擇 **Restore table (還原資料表)** 以顯示 **Restore table (還原資料表)** 頁面。

1. 輸入要使用的快照、來源資料表和目標資料表資訊，然後選擇 **Restore table (還原資料表)**。

**Example 範例：使用 從快照還原資料表 AWS CLI**  
下列範例使用 `restore-table-from-cluster-snapshot` AWS CLI 命令，從 `sample-database` 中的結構描述還原`my-source-table`資料表`my-snapshot-id`。您可以使用 AWS CLI 命令`describe-table-restore-status`來檢閱還原操作的狀態。此範例透過名為 `mycluster-example` 的新資料表還原快照至 `my-new-table` 叢集。  

```
aws redshift restore-table-from-cluster-snapshot --cluster-identifier mycluster-example 
                                                 --new-table-name my-new-table 
                                                 --snapshot-identifier my-snapshot-id 
                                                 --source-database-name sample-database 
                                                 --source-table-name my-source-table
```

# 從快照還原無伺服器命名空間
<a name="snapshot-restore-provisioned-to-serverless"></a>

 從快照還原無伺服器命名空間會將所有命名空間的資料庫替換為快照中的資料庫。如需無伺服器快照的詳細資訊，請參閱[快照和復原點](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery-points.html)。當您將佈建叢集快照還原到 Amazon Redshift Serverless 命名空間時，Amazon Redshift 會自動將具有交錯索引鍵的資料表轉換為複合索引鍵。如需排序索引鍵的相關資訊，請參閱[使用排序索引鍵](https://docs.aws.amazon.com/redshift/latest/dg/t_Sorting_data.html)。

若要將佈建叢集的快照還原至無伺服器命名空間。

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

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

1. 選擇**從快照還原**、**還原至無伺服器命名空間**。

1. 選擇想要還原至的命名空間。

1. 確認您要從快照還原。選擇**還原**。此動作會使用佈建叢集中的資料取代無伺服器命名空間中的所有資料庫。

# 設定未加密叢集的跨區域快照複本
<a name="snapshot-crossregioncopy-configure"></a>

您可以設定 Amazon Redshift 將叢集的快照複製到另一個 AWS 區域。若要設定跨區域快照複製，您需要為每個叢集啟用此複製功能，並設定複製快照的位置，以及在目的地區域中保留複製自動或手動快照的時間長度 AWS 。當叢集啟用跨區域複製時，所有新的手動和自動快照都會複製到指定的 AWS 區域。複製的快照名稱前面會加上 **copy:**。

**設定跨區域快照**

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

1. 在導覽功能表上，選擇**叢集**，然後選擇您要移動快照的叢集。

1. 針對**動作**，選擇**設定跨區域快照**。

   隨即會出現 [設定跨區域] 對話方塊。

1. 針對**複製快照**，選擇**是**。

1. 在**目的地 AWS 區域中**，選擇要複製快照 AWS 的區域。

1. 在**自動快照保留期間 （天）** 中，選擇您希望自動快照在刪除之前保留在目的地 AWS 區域中的天數。

1. 在**手動快照保留期間**中，選擇代表您希望手動快照在刪除之前保留在目的地 AWS 區域中的天數的值。如果您選擇**自訂值**，則保留期必須介於 1 到 3653 天之間。

1. 選擇**儲存**。

# 為 AWS KMS加密的叢集設定跨區域快照複本
<a name="xregioncopy-kms-encrypted-snapshot"></a>

 當您啟動 Amazon Redshift 叢集時，您可以在目的地 AWS 區域中為帳戶中的根金鑰設定快照複製授權。如果您未設定授予，則會使用預設 AWS擁有的金鑰加密目的地區域中的快照。如此，即可讓 Amazon Redshift 在目標 AWS 區域中執行加密操作。

下列程序說明為 AWS KMS加密叢集啟用跨區域快照複本的程序。如需 Amazon Redshift 中的加密和快照複製權限授予的相關資訊，請參閱[將 AWS KMS加密的快照複製到另一個快照 AWS 區域](working-with-db-encryption.md#configure-snapshot-copy-grant)。

**為 AWS KMS加密的叢集設定跨區域快照**

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

1. 在導覽功能表上，選擇**叢集**，然後選擇您要移動快照的叢集。

1. 針對**動作**，選擇**設定跨區域快照**。

   隨即會出現 [設定跨區域] 對話方塊。

1. 針對**複製快照**，選擇**是**。

1. 在**目的地 AWS 區域中**，選擇要複製快照 AWS 的區域。

1. 在**自動快照保留期間 （天）** 中，選擇您希望自動快照在刪除之前保留在目的地 AWS 區域中的天數。

1. 在**手動快照保留期間**中，選擇代表您希望手動快照在刪除之前保留在目的地 AWS 區域中的天數的值。如果您選擇**自訂值**，則保留期必須介於 1 到 3653 天之間。

1. 選擇**儲存**。

# 修改手動快照保留期
<a name="snapshot-manual-retention-period"></a>

您可變更手動快照的保留期間，只要修改快照設定即可。

**變更手動快照保留期間**

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

1. 在導覽功能表中，選擇**叢集**、**快照**，然後選擇要變更的手動快照。

1. 針對 **Actions (動作)**，選擇 **Manual snapshot settings (手動快照設定)** 以顯示手動快照的屬性。

1. 輸入快照定義的修訂屬性，然後選擇 **Save (儲存)**。

# 修改跨區域快照複本的保留期間
<a name="snapshot-crossregioncopy-modify"></a>

設定跨區域快照複本後，您也許會想變更設定。您可輕易變更保留期間，只要選取新的天數，並儲存變更即可。

**警告**  
設定跨 AWS 區域快照複本後，您無法修改目的地區域。  
如果您想要將快照複製到不同的 AWS 區域，請先停用跨區域快照複本。然後使用新的目的地 AWS 區域和保留期重新啟用它。在您停用跨區域快照複本後，所有複製的自動化快照都會遭到刪除。因此，建議您判斷是否有想要保留的項目，以便先將其複製到手動快照，再停用跨區域快照複本。

**修改跨區域快照**

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

1. 在導覽功能表上，選擇**叢集**，然後選擇您要修改快照的叢集。

1. 對於 **Actions (動作)**，選擇 **Configure cross-region snapshot (設定跨區域快照)** 以顯示快照的屬性。

1. 輸入快照定義的修訂屬性，然後選擇 **Save (儲存)**。

# 刪除手動快照
<a name="snapshot-delete"></a>

您可以透過選取快照清單中的一或多個快照來刪除手動快照。

**刪除手動快照**

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

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

1. 針對 **Actions (動作)**，選擇 **Delete snapshot (刪除快照)** 以刪除快照。

1. 確認刪除列出的快照，然後選擇 **Delete (刪除)**。