

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

# 快照和還原
<a name="snapshots"></a>

MemoryDB 叢集會自動將資料備份到多可用區域交易日誌，但您可以選擇定期或隨需建立叢集的point-in-time快照。這些快照可用來在上一個點重新建立叢集，或植入全新的叢集。快照包含叢集的中繼資料，以及叢集中的所有資料。所有快照都會寫入 Amazon Simple Storage Service (Amazon S3)，以提供耐用的儲存體。您可以隨時透過建立新的 MemoryDB 叢集並填入快照中的資料來還原資料。使用 MemoryDB，您可以使用 AWS 管理主控台、 AWS Command Line Interface (AWS CLI) 和 MemoryDB API 來管理快照。

**Topics**
+ [快照限制條件](snapshots-constraints.md)
+ [快照成本](snapshots-costs.md)
+ [排程自動快照](snapshots-automatic.md)
+ [製作手動快照](snapshots-manual.md)
+ [建立最終快照](snapshots-final.md)
+ [描述快照](snapshots-describing.md)
+ [複製快照](snapshots-copying.md)
+ [匯出快照](snapshots-exporting.md)
+ [從快照還原](snapshots-restoring.md)
+ [使用外部建立的快照植入新叢集](snapshots-seeding-redis.md)
+ [標記快照](snapshots-tagging.md)
+ [刪除快照](snapshots-deleting.md)

# 快照限制條件
<a name="snapshots-constraints"></a>

規劃或製作快照時，請考慮下列限制條件：
+ 對於 MemoryDB 叢集，快照和還原適用於所有支援的節點類型。
+ 在任何連續的 24 小時期間內，您可以為每個叢集建立不超過 20 個手動快照。
+ MemoryDB 僅支援在叢集層級拍攝快照。MemoryDB 不支援在碎片或節點層級擷取快照。
+ 在快照程序期間，您無法在叢集上執行任何其他 API 或 CLI 操作。
+ 如果您刪除叢集並請求最終快照，MemoryDB 一律會從主要節點擷取快照。這可確保您在刪除叢集之前擷取最新的資料。

# 快照成本
<a name="snapshots-costs"></a>

使用 MemoryDB，您可以為每個作用中的 MemoryDB 叢集免費存放一個快照。其他快照的儲存空間會針對所有 AWS 區域收取每月 0.085/GB 的費率。建立快照或將資料從快照還原至 MemoryDB 叢集不需要支付資料傳輸費用。

# 排程自動快照
<a name="snapshots-automatic"></a>

對於任何 MemoryDB 叢集，您可以啟用自動快照。啟用自動快照時，MemoryDB 會每天建立叢集的快照。不會對叢集造成任何影響，而且變更會立即生效。如需詳細資訊，請參閱[從快照還原](snapshots-restoring.md)。

排程自動快照時，您應該規劃下列設定：
+ **快照視窗** – MemoryDB 開始建立快照的每一天期間。快照視窗的長度下限為 60 分鐘。您可以在一天中最方便的時間設定快照視窗，或在特別高使用率期間避免執行快照的時間。

  如果您未指定快照視窗，MemoryDB 會自動指派一個。
+ **快照保留限制** – 快照保留在 Amazon S3 中的天數。例如，如果您將保留限制設定為 5，則今天拍攝的快照會保留 5 天。當保留限制過期時，快照會自動刪除。

  快照保留限制上限為 35 天。如果快照保留限制設定為 0，則會停用叢集的自動快照。即使停用自動快照，MemoryDB 資料仍然完全耐用。

您可以在使用 MemoryDB 主控台 AWS CLI、 或 MemoryDB API 建立 MemoryDB 叢集時啟用或停用自動快照。您可以在建立 MemoryDB 叢集時啟用自動快照，方法是勾選**快照**區段中的**啟用自動備份**方塊。如需詳細資訊，[建立 MemoryDB 叢集](getting-started.md#clusters.create)。

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

除了自動快照之外，您可以隨時建立*手動*快照。與在指定保留期間後自動刪除的自動快照不同，手動快照在保留期間之後不會自動刪除。您必須手動刪除任何手動快照。即使您刪除叢集或節點，也會保留該叢集或節點中的任何手動快照。如果您不想再保留手動快照，您必須自行明確刪除快照。

手動快照適用於測試和封存。例如，假設您開發了一組用於測試的基準資料。您可以建立資料的手動快照，並隨時將其還原。測試修改資料的應用程式之後，您可以透過建立新的叢集並從基準快照還原來重設資料。叢集就緒時，您可以根據基準資料再次測試應用程式，並視需要經常重複此程序。

除了直接建立手動快照之外，您還可以使用下列其中一種方式建立手動快照：
+ [複製快照](snapshots-copying.md) – 來源快照是自動還是手動建立並不重要。
+ [建立最終快照](snapshots-final.md) – 在刪除叢集之前立即建立快照。

**其他重要主題**
+ [快照限制條件](snapshots-constraints.md)
+ [快照成本](snapshots-costs.md)

您可以使用 AWS 管理主控台、 AWS CLI或 MemoryDB API 建立節點的手動快照。



## 建立手動快照 （主控台）
<a name="snapshots-manual-CON"></a>

**建立叢集的快照 （主控台）**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/) 的 MemoryDB 主控台。

1. 從左側導覽窗格中，選擇**叢集**。

   MemoryDB 叢集畫面隨即出現。

1. 選擇您要備份之 MemoryDB 叢集名稱左側的選項按鈕。

1. 選擇**動作**，然後**拍攝快照**。

1. 在**快照**視窗中，在快照名稱方塊中輸入**快照的名稱**。建議名稱指出已備份的叢集，以及快照的日期和時間。

   叢集命名限制條件如下：
   + 必須包含 1-40 個英數字元或連字號。
   + 必須以字母開頭。
   + 不能連續包含兩個連字號。
   + 結尾不能是連字號。

1. 在**加密**下，選擇要使用預設加密金鑰還是客戶受管金鑰。如需詳細資訊，請參閱[MemoryDB 中的傳輸中加密 (TLS)](in-transit-encryption.md)。

1. 在**標籤**下，選擇性地新增標籤以搜尋和篩選快照或追蹤 AWS 成本。

1. 選擇 **Take Snapshot** (擷取快照)。

   叢集的狀態會變更為「快照中」**。當狀態回到*可用*狀態時，快照即完成。

## 建立手動快照 (AWS CLI)
<a name="snapshots-manual-CLI"></a>

若要使用 建立叢集的手動快照 AWS CLI，請使用 `create-snapshot` AWS CLI 操作搭配下列參數：
+ `--cluster-name` – 做為快照來源的 MemoryDB 叢集名稱。備份 MemoryDB 叢集時，請使用此參數。

  叢集命名限制條件如下：
  + 必須包含 1-40 個英數字元或連字號。
  + 必須以字母開頭。
  + 不能連續包含兩個連字號。
  + 結尾不能是連字號。

   
+ `--snapshot-name` - 要建立的快照名稱。

### 相關主題
<a name="snapshots-manual-CLI-see-also"></a>

如需詳細資訊，請參閱《AWS CLI 命令參考》**中的 `create-snapshot`。

## 建立手動快照 (MemoryDB API)
<a name="snapshots-manual-API"></a>

若要使用 MemoryDB API 建立叢集的手動快照，請使用 `CreateSnapshot` MemoryDB API 操作搭配下列參數：
+ `ClusterName` – 做為快照來源的 MemoryDB 叢集名稱。備份 MemoryDB 叢集時，請使用此參數。

   

  叢集命名限制條件如下：
  + 必須包含 1-40 個英數字元或連字號。
  + 必須以字母開頭。
  + 不能連續包含兩個連字號。
  + 結尾不能是連字號。
+ `SnapshotName` - 要建立的快照名稱。

### 相關主題
<a name="snapshots-manual-api-see-also"></a>

如需詳細資訊，請參閱 [CreateSnapshot](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateSnapshot.html)。

# 建立最終快照
<a name="snapshots-final"></a>

您可以使用 MemoryDB 主控台、 AWS CLI或 MemoryDB API 建立最終快照。

## 建立最終快照 （主控台）
<a name="snapshots-final-CON"></a>

您可以在使用 MemoryDB 主控台刪除 MemoryDB 叢集時建立最終快照。

若要在刪除 MemoryDB 叢集時建立最終快照，請在刪除頁面上選擇**是**，並在 為快照命名[步驟 5：刪除叢集](getting-started.md#clusters.delete)。

## 建立最終快照 (AWS CLI)
<a name="snapshots-final-CLI"></a>

您可以使用 刪除 MemoryDB 叢集時建立最終快照 AWS CLI。

### 刪除 MemoryDB 叢集時
<a name="w2ab1c18c23c29b7b1b5"></a>

若要在刪除叢集時建立最終快照，請使用 `delete-cluster` AWS CLI 操作搭配下列參數：
+ `--cluster-name` - 正在刪除的叢集名稱。
+ `--final-snapshot-name` – 最終快照的名稱。

下列程式碼會在刪除叢集 `bkup-20210515-final`時取得最終快照`myCluster`。

針對 Linux、macOS 或 Unix：

```
aws memorydb delete-cluster \
        --cluster-name myCluster \
        --final-snapshot-name bkup-20210515-final
```

針對 Windows：

```
aws memorydb delete-cluster ^
        --cluster-name myCluster ^
        --final-snapshot-name bkup-20210515-final
```

如需詳細資訊，請參閱《 *AWS CLI 命令參考*》中的 [delete-cluster](https://docs.aws.amazon.com/cli/latest/reference/memorydb/delete-cluster.html)。

## 建立最終快照 (MemoryDB API)
<a name="snapshots-final-API"></a>

您可以在使用 MemoryDB API 刪除 MemoryDB 叢集時建立最終快照。

### 刪除 MemoryDB 叢集時
<a name="snapshots-final-API-cluster"></a>

若要建立最終快照，請使用 `DeleteCluster` MemoryDB API 操作搭配下列參數。
+ `ClusterName` - 正在刪除的叢集名稱。
+ `FinalSnapshotName` – 快照的名稱。

下列 MemoryDB API 操作會在刪除叢集 `bkup-20210515-final`時建立快照`myCluster`。

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=DeleteCluster
    &ClusterName=myCluster
    &FinalSnapshotName=bkup-20210515-final
    &Version=2021-01-01
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20210515T192317Z
    &X-Amz-Credential=<credential>
```

如需詳細資訊，請參閱 [DeleteCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteCluster.html)。

# 描述快照
<a name="snapshots-describing"></a>

下列程序說明如何顯示快照清單。如果需要，您也可以檢視特定快照的詳細資訊。

## 描述快照 （主控台）
<a name="snapshots-describing-CON"></a>

**使用 顯示快照 AWS 管理主控台**

1. 登入 主控台

1. 從左側導覽窗格中，選擇**快照**。

1. 使用搜尋來篩選**手動**、**自動**或**所有**快照。

1. 若要查看特定快照的詳細資訊，請選擇快照名稱左側的選項按鈕。選擇**動作**，然後選擇**檢視詳細資訊**。

1. 或者，在**檢視詳細資訊**頁面中，您可以執行其他快照動作，例如**複製**、**還原****或刪除**。您也可以將標籤新增至快照 

## 描述快照 (AWS CLI)
<a name="snapshots-describing-CLI"></a>

若要顯示快照清單和特定快照的選擇性詳細資訊，請使用 CLI `describe-snapshots` 操作。

**範例**

下列操作使用 參數`--max-results`列出最多 20 個與您 帳戶相關聯的快照。省略 參數最多可`--max-results`列出 50 個快照。

```
aws memorydb describe-snapshots --max-results 20
```

下列操作使用 參數`--cluster-name`僅列出與叢集 相關聯的快照`my-cluster`。

```
aws memorydb describe-snapshots --cluster-name my-cluster
```

下列操作使用 參數`--snapshot-name`來顯示快照 的詳細資訊`my-snapshot`。

```
aws memorydb describe-snapshots --snapshot-name my-snapshot
```

如需詳細資訊，請參閱 [describe-snapshots](https://docs.aws.amazon.com/cli/latest/reference/memorydb/describe-snapshots.html)。

## 描述快照 (MemoryDB API)
<a name="snapshots-describing-API"></a>

若要顯示快照清單，請使用 `DescribeSnapshots`操作。

**範例**

下列操作使用 參數`MaxResults`列出最多 20 個與您 帳戶相關聯的快照。省略 參數最多可`MaxResults`列出 50 個快照。

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=DescribeSnapshots
    &MaxResults=20
    &SignatureMethod=HmacSHA256
    &SignatureVersion=4
    &Timestamp=20210801T220302Z
    &Version=2021-01-01
    &X-Amz-Algorithm=Amazon4-HMAC-SHA256
    &X-Amz-Date=20210801T220302Z
    &X-Amz-SignedHeaders=Host
    &X-Amz-Expires=20210801T220302Z
    &X-Amz-Credential=<credential>
    &X-Amz-Signature=<signature>
```

下列操作使用 參數`ClusterName`來列出與叢集 相關聯的所有快照`MyCluster`。

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=DescribeSnapshots
    &ClusterName=MyCluster
    &SignatureMethod=HmacSHA256
    &SignatureVersion=4
    &Timestamp=20210801T220302Z
    &Version=2021-01-01
    &X-Amz-Algorithm=Amazon4-HMAC-SHA256
    &X-Amz-Date=20210801T220302Z
    &X-Amz-SignedHeaders=Host
    &X-Amz-Expires=20210801T220302Z
    &X-Amz-Credential=<credential>
    &X-Amz-Signature=<signature>
```

下列操作使用 參數`SnapshotName`來顯示快照 的詳細資訊`MyBackup`。

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=DescribeSnapshots
    &SignatureMethod=HmacSHA256
    &SignatureVersion=4
    &SnapshotName=MyBackup
    &Timestamp=20210801T220302Z
    &Version=2021-01-01
    &X-Amz-Algorithm=Amazon4-HMAC-SHA256
    &X-Amz-Date=20210801T220302Z
    &X-Amz-SignedHeaders=Host
    &X-Amz-Expires=20210801T220302Z
    &X-Amz-Credential=<credential>
    &X-Amz-Signature=<signature>
```

如需詳細資訊，請參閱 [DescribeSnapshots](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeSnapshots.html)。

# 複製快照
<a name="snapshots-copying"></a>

您可以複製任何快照，無論是自動還是手動建立。複製快照時，除非特別覆寫，否則會將與來源相同的 KMS 加密金鑰用於目標。您也可以匯出快照，以便從 MemoryDB 外部存取快照。如需匯出快照的指引，請參閱 [匯出快照](snapshots-exporting.md)。

下列程序說明如何複製快照。

## 複製快照 （主控台）
<a name="snapshots-copying-CON"></a>

**複製快照 （主控台）**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/) 的 MemoryDB 主控台。

1. 若要查看快照清單，請從左側導覽窗格中選擇**快照**。

1. 從快照清單中，選擇您要複製之快照名稱左側的選項按鈕。

1. 選擇**動作**，然後選擇**複製**。

1. 在**複製快照**頁面中，執行下列動作：

   1. 在**新增快照名稱**方塊中，輸入新快照的名稱。

   1. 將選用的 **Target S3 Bucket (目標 S3 儲存貯體)** 方塊留白。此欄位應僅用於匯出快照，並需要特殊的 S3 許可。如需匯出快照的資訊，請參閱 [匯出快照](snapshots-exporting.md)。

   1. 選擇使用預設 AWS KMS 加密金鑰還是使用自訂金鑰。如需詳細資訊，請參閱[MemoryDB 中的傳輸中加密 (TLS)](in-transit-encryption.md)。

   1. 您也可以選擇將標籤新增至快照複本。

   1. 請選擇 **Copy** (複製)。

## 複製快照 (AWS CLI)
<a name="snapshots-copying-CLI"></a>

若要複製快照，請使用 `copy-snapshot`操作。

**Parameters**
+ `--source-snapshot-name` – 要複製的快照名稱。
+ `--target-snapshot-name` – 快照複本的名稱。
+ `--target-bucket` – 預留用於匯出快照。複製快照時，請勿使用此參數。如需詳細資訊，請參閱[匯出快照](snapshots-exporting.md)。

下列範例會複製自動快照。

針對 Linux、macOS 或 Unix：

```
aws memorydb copy-snapshot \
    --source-snapshot-name automatic.my-primary-2021-03-27-03-15 \
    --target-snapshot-name my-snapshot-copy
```

針對 Windows：

```
aws memorydb copy-snapshot ^
    --source-snapshot-name automatic.my-primary-2021-03-27-03-15 ^
    --target-snapshot-name my-snapshot-copy
```

如需詳細資訊，請參閱 [copy-snapshot](https://docs.aws.amazon.com/cli/latest/reference/memorydb/copy-snapshot.html)。

## 複製快照 (MemoryDB API)
<a name="snapshots-copying-API"></a>

若要複製快照，請使用 `copy-snapshot`操作搭配下列參數：

**Parameters**
+ `SourceSnapshotName` – 要複製的快照名稱。
+ `TargetSnapshotName` – 快照複本的名稱。
+ `TargetBucket` – 預留用於匯出快照。複製快照時，請勿使用此參數。如需詳細資訊，請參閱[匯出快照](snapshots-exporting.md)。

下列範例會複製自動快照。

**Example**  

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=CopySnapshot
    &SourceSnapshotName=automatic.my-primary-2021-03-27-03-15
    &TargetSnapshotName=my-snapshot-copy
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20210801T220302Z
    &Version=2021-01-01
    &X-Amz-Algorithm=Amazon4-HMAC-SHA256
    &X-Amz-Date=20210801T220302Z
    &X-Amz-SignedHeaders=Host
    &X-Amz-Expires=20210801T220302Z
    &X-Amz-Credential=<credential>
    &X-Amz-Signature=<signature>
```

如需詳細資訊，請參閱 [CopySnapshot](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CopySnapshot.html)。

# 匯出快照
<a name="snapshots-exporting"></a>

MemoryDB 支援將 MemoryDB 快照匯出至 Amazon Simple Storage Service (Amazon S3) 儲存貯體，讓您從 MemoryDB 外部存取它。匯出的 MemoryDB 快照完全相容於 Valkey 和開放原始碼 Redis OSS，並且可以使用適當的版本或工具載入。您可以使用 MemoryDB 主控台、 AWS CLI或 MemoryDB API 匯出快照。

如果您需要在另一個 AWS 區域中啟動叢集，匯出快照會很有幫助。您可以在一個區域中匯出資料 AWS 、將 .rdb 檔案複製到新 AWS 區域，然後使用該 .rdb 檔案植入新叢集，而不是等待新叢集透過使用填入。如需植入新叢集的資訊，請參閱[使用外部建立的快照植入新叢集](snapshots-seeding-redis.md)。您也可能為了離線處理 .rdb 檔案，而想要匯出叢集資料。

**重要**  
 MemoryDB 快照和您要將其複製到的 Amazon S3 儲存貯體必須位於相同的 AWS 區域。  
雖然複製到 Amazon S3 儲存貯體的快照已加密，我們強烈建議您不要授予其他人存取要存放快照的 Amazon S3 儲存貯體。
使用資料分層的叢集不支援將快照匯出至 Amazon S3。如需詳細資訊，請參閱[資料分層](data-tiering.md)。

您必須先在快照所在的相同 AWS 區域中擁有 Amazon S3 儲存貯體，才能將快照匯出至 Amazon S3 儲存貯體。授予 MemoryDB 對儲存貯體的存取權。前兩個步驟示範如何執行此操作。

**警告**  
下列情況會以您不想要的方式公開資料：  
**當其他人可以存取您匯出快照的 Amazon S3 儲存貯體時。**  
若要控制快照的存取，請只允許存取您要存取資料的 Amazon S3 儲存貯體。如需管理 Amazon S3 儲存貯體存取權的詳細資訊，請參閱 *Amazon S3 開發人員指南*中的[管理存取權](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)。
**其他人具備使用 CopySnapshot API 操作的許可時。**  
具有使用 `CopySnapshot` API 操作許可的使用者或群組可以建立自己的 Amazon S3 儲存貯體，並將快照複製到這些儲存貯體。若要控制快照的存取，請使用 AWS Identity and Access Management (IAM) 政策來控制誰能夠使用 `CopySnapshot` API。如需使用 IAM 控制 MemoryDB API 操作使用的詳細資訊，請參閱《*MemoryDB 使用者指南*[MemoryDB 中的身分和存取管理](iam.md)》中的 。

**Topics**
+ [步驟 1：建立 Amazon S3 儲存貯體](#snapshots-exporting-create-s3-bucket)
+ [步驟 2：授予 MemoryDB 存取 Amazon S3 儲存貯體的權限](#snapshots-exporting-grant-access)
+ [步驟 3：匯出 MemoryDB 快照](#snapshots-exporting-procedures)

## 步驟 1：建立 Amazon S3 儲存貯體
<a name="snapshots-exporting-create-s3-bucket"></a>

下列程序使用 Amazon S3 主控台來建立 Amazon S3 儲存貯體，您可以在其中匯出和存放 MemoryDB 快照。

**建立 Amazon S3 儲存貯體**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 選擇 **Create Bucket** (建立儲存貯體)。

1. 在 **Create a Bucket - Select a Bucket Name and Region (建立儲存貯體 - 選取儲存貯體名稱和區域)** 中，執行下列動作：

   1. 在 **Bucket Name (儲存貯體名稱)** 中，輸入 Amazon S3 儲存貯體的名稱。

   1. 從**區域**清單中，為您的 Amazon S3 儲存貯體選擇 AWS 區域。此 AWS 區域必須與您要匯出 AWS 的 MemoryDB 快照區域相同。

   1. 選擇**建立**。

如需有關建立 Amazon S3 儲存貯體的詳細資訊，請參閱 *Amazon Simple Storage Service 使用者指南*中的[建立儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)。

## 步驟 2：授予 MemoryDB 存取 Amazon S3 儲存貯體的權限
<a name="snapshots-exporting-grant-access"></a>

AWS 2019 年 3 月 20 日之前推出的區域預設為啟用。您可以立即開始在這些 AWS 區域中工作。2019 年 3 月 20 日之後引進的區域預設為停用。您必須啟用或選擇加入這些區域，才能使用它們，如[管理 AWS 區域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)中所述。

### 授予 MemoryDB 存取 AWS 區域中的 S3 儲存貯體
<a name="snapshots-exporting-region"></a>

若要在 AWS 區域中的 Amazon S3 儲存貯體上建立適當的許可，請執行下列步驟。

**授予 MemoryDB 對 S3 儲存貯體的存取權**

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

1. 選擇您要複製快照的 Amazon S3 儲存貯體名稱。這應該是您在[步驟 1：建立 Amazon S3 儲存貯體](#snapshots-exporting-create-s3-bucket)中建立的 S3 儲存貯體。

1. 選擇**許可**索引標籤，然後在**許可**下，選擇**儲存貯體政策**。

1. 更新政策以授予 MemoryDB 執行操作所需的許可：
   + 將 `[ "Service" : "region-full-name.memorydb-snapshot.amazonaws.com" ]` 新增至 `Principal`。
   + 新增下列將快照匯出至 Amazon S3 儲存貯體所需的許可。
     + `"s3:PutObject"`
     + `"s3:GetObject"`
     + `"s3:ListBucket"`
     + `"s3:GetBucketAcl"`
     + `"s3:ListMultipartUploadParts"`
     + `"s3:ListBucketMultipartUploads"`

   以下是已更新政策可能有的外觀範例。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "Policy15397346",
       "Statement": [
           {
               "Sid": "Stmt15399483",
               "Effect": "Allow",
               "Principal": {
                   "Service": "aws-region.memorydb-snapshot.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:ListBucket",
                   "s3:GetBucketAcl",
                   "s3:ListMultipartUploadParts",
                   "s3:ListBucketMultipartUploads"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

------

## 步驟 3：匯出 MemoryDB 快照
<a name="snapshots-exporting-procedures"></a>

現在您已建立 S3 儲存貯體，並授予 MemoryDB 存取該儲存貯體的許可。將 S3 物件擁有權變更為*已啟用 ACLs - 儲存貯體擁有者優先*。接下來，您可以使用 MemoryDB AWS 主控台、CLI 或 MemoryDB API 將快照匯出至其中。以下假設您具備 S3 專屬的其他 IAM 許可。

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [{
		"Effect": "Allow",
		"Action": [
			"s3:GetBucketLocation",
			"s3:ListAllMyBuckets",
			"s3:PutObject",
			"s3:GetObject",
			"s3:DeleteObject",
			"s3:ListBucket"
		],
		"Resource": "arn:aws:s3:::*"
	}]
}
```

------

### 匯出 MemoryDB 快照 （主控台）
<a name="snapshots-exporting-CON"></a>

下列程序使用 MemoryDB 主控台將快照匯出至 Amazon S3 儲存貯體，以便您可以從 MemoryDB 外部存取快照。Amazon S3 儲存貯體必須與 MemoryDB 快照位於相同的 AWS 區域。

**將 MemoryDB 快照匯出至 Amazon S3 儲存貯體**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/) 的 MemoryDB 主控台。

1. 若要查看快照清單，請從左側導覽窗格中選擇**快照**。

1. 從快照清單中，選擇您要匯出之快照名稱左側的選項按鈕。

1. 請選擇 **Copy** (複製)。

1. 在 **Create a Copy of the Backup? (是否建立備份複本？)** 中，執行下列動作：

   1. 在**新快照名稱**方塊中，輸入新快照的名稱。

      該名稱必須介於 1 到 1,000 個字元之間，而且能夠以 UTF-8 編碼。

      MemoryDB 會將碎片識別符 `.rdb` 和 新增至您在此處輸入的值。例如，如果您輸入 `my-exported-snapshot`，MemoryDB 會建立 `my-exported-snapshot-0001.rdb`。

   1. 從**目標 S3 位置**清單中，選擇您要將快照複製到其中的 Amazon S3 儲存貯體名稱 （您在 中建立的儲存貯體[步驟 1：建立 Amazon S3 儲存貯體](#snapshots-exporting-create-s3-bucket))。

      **目標 S3 位置**必須是快照 AWS 區域中的 Amazon S3 儲存貯體，具有下列許可，匯出程序才能成功。
      + 物件存取權 - **Read (讀取)** 和 **Write (寫入)**。
      + 許可存取權 - **Read (讀取)**。

      如需詳細資訊，請參閱[步驟 2：授予 MemoryDB 存取 Amazon S3 儲存貯體的權限](#snapshots-exporting-grant-access)。

   1. 請選擇 **Copy** (複製)。

**注意**  
如果您的 S3 儲存貯體沒有 MemoryDB 匯出快照所需的許可，您會收到下列其中一個錯誤訊息。返回 [步驟 2：授予 MemoryDB 存取 Amazon S3 儲存貯體的權限](#snapshots-exporting-grant-access)以新增指定的許可，然後重試匯出您的快照。  
MemoryDB 尚未在 S3 儲存貯體上獲得讀取許可 %s。  
**解決方式：**新增儲存貯體的 Read (讀取) 許可。
尚未在 S3 儲存貯體上授予 MemoryDB WRITE 許可 %s。  
**解決方式：**新增儲存貯體的 Write (寫入) 許可。
MemoryDB 尚未在 S3 儲存貯體上授予 READ\$1ACP 許可 %s。  
**解決方式：**新增儲存貯體的 **Read (讀取)** 許可存取。

如果您想要將快照複製到另一個 AWS 區域，請使用 Amazon S3 將其複製。如需詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[複製物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/copy-object.html)。

### 匯出 MemoryDB 快照 (AWS CLI)
<a name="snapshots-exporting-CLI"></a>

使用具有下列參數的 CLI 操作，將快照匯出至 Amazon S3 `copy-snapshot` 儲存貯體：

**Parameters**
+ `--source-snapshot-name` – 要複製的快照名稱。
+ `--target-snapshot-name` – 快照複本的名稱。

  該名稱必須介於 1 到 1,000 個字元之間，而且能夠以 UTF-8 編碼。

  MemoryDB 會將碎片識別符 和 新增至您在此處輸入的`.rdb`值。例如，如果您輸入 `my-exported-snapshot`，MemoryDB 會建立 `my-exported-snapshot-0001.rdb`。
+ `--target-bucket` – 您要匯出快照的 Amazon S3 儲存貯體名稱。快照的副本是在指定的儲存貯體中建立。

  `--target-bucket` 必須是快照 AWS 區域中的 Amazon S3 儲存貯體，具有下列許可，匯出程序才能成功。
  + 物件存取權 - **Read (讀取)** 和 **Write (寫入)**。
  + 許可存取權 - **Read (讀取)**。

  如需詳細資訊，請參閱[步驟 2：授予 MemoryDB 存取 Amazon S3 儲存貯體的權限](#snapshots-exporting-grant-access)。

下列操作會將快照複製到 amzn-s3-demo-bucket。

針對 Linux、macOS 或 Unix：

```
aws memorydb copy-snapshot \
    --source-snapshot-name automatic.my-primary-2021-06-27-03-15 \
    --target-snapshot-name my-exported-snapshot \
    --target-bucket amzn-s3-demo-bucket
```

針對 Windows：

```
aws memorydb copy-snapshot ^
    --source-snapshot-name automatic.my-primary-2021-06-27-03-15 ^
    --target-snapshot-name my-exported-snapshot ^
    --target-bucket amzn-s3-demo-bucket
```

**注意**  
如果您的 S3 儲存貯體沒有 MemoryDB 匯出快照所需的許可，您會收到下列其中一個錯誤訊息。返回 [步驟 2：授予 MemoryDB 存取 Amazon S3 儲存貯體的權限](#snapshots-exporting-grant-access)以新增指定的許可，然後重試匯出您的快照。  
MemoryDB 尚未在 S3 儲存貯體上獲得讀取許可 %s。  
**解決方式：**新增儲存貯體的 Read (讀取) 許可。
尚未在 S3 儲存貯體上授予 MemoryDB WRITE 許可 %s。  
**解決方式：**新增儲存貯體的 Write (寫入) 許可。
MemoryDB 尚未在 S3 儲存貯體上授予 READ\$1ACP 許可 %s。  
**解決方式：**新增儲存貯體的 **Read (讀取)** 許可存取。

如需詳細資訊，請參閱《AWS CLI 命令參考》**中的 `copy-snapshot`。

如果您想要將快照複製到另一個 AWS 區域，請使用 Amazon S3 複本。如需詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[複製物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/copy-object.html)。

### 匯出 MemoryDB 快照 (MemoryDB API)
<a name="snapshots-exporting-API"></a>

使用這些參數搭配 `CopySnapshot` API 操作，將快照匯出至 Amazon S3 儲存貯體。

**Parameters**
+ `SourceSnapshotName` – 要複製的快照名稱。
+ `TargetSnapshotName` – 快照複本的名稱。

  該名稱必須介於 1 到 1,000 個字元之間，而且能夠以 UTF-8 編碼。

  MemoryDB 會將碎片識別符 `.rdb` 和 新增至您在此處輸入的值。例如，如果您輸入 `my-exported-snapshot`，則會得到 `my-exported-snapshot-0001.rdb`。
+ `TargetBucket` – 您要匯出快照的 Amazon S3 儲存貯體名稱。快照的副本是在指定的儲存貯體中建立。

  `TargetBucket` 必須是快照 AWS 區域中的 Amazon S3 儲存貯體，具有下列許可，匯出程序才能成功。
  + 物件存取權 - **Read (讀取)** 和 **Write (寫入)**。
  + 許可存取權 - **Read (讀取)**。

  如需詳細資訊，請參閱[步驟 2：授予 MemoryDB 存取 Amazon S3 儲存貯體的權限](#snapshots-exporting-grant-access)。

下列範例會將自動快照複製到 Amazon S3 儲存貯體 `amzn-s3-demo-bucket`。

**Example**  

```
https://memory-db.us-east-1.amazonaws.com/
    ?Action=CopySnapshot
    &SourceSnapshotName=automatic.my-primary-2021-06-27-03-15
    &TargetBucket=&example-s3-bucket;
    &TargetSnapshotName=my-snapshot-copy
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20210801T220302Z
    &Version=2021-01-01
    &X-Amz-Algorithm=Amazon4-HMAC-SHA256
    &X-Amz-Date=20210801T220302Z
    &X-Amz-SignedHeaders=Host
    &X-Amz-Expires=20210801T220302Z
    &X-Amz-Credential=<credential>
    &X-Amz-Signature=<signature>
```

**注意**  
如果您的 S3 儲存貯體沒有 MemoryDB 匯出快照所需的許可，您會收到下列其中一個錯誤訊息。返回 [步驟 2：授予 MemoryDB 存取 Amazon S3 儲存貯體的權限](#snapshots-exporting-grant-access)以新增指定的許可，然後重試匯出您的快照。  
MemoryDB 尚未在 S3 儲存貯體上獲得讀取許可 %s。  
**解決方式：**新增儲存貯體的 Read (讀取) 許可。
尚未在 S3 儲存貯體上授予 MemoryDB WRITE 許可 %s。  
**解決方式：**新增儲存貯體的 Write (寫入) 許可。
MemoryDB 尚未在 S3 儲存貯體上授予 READ\$1ACP 許可 %s。  
**解決方式：**新增儲存貯體的 **Read (讀取)** 許可存取。

如需詳細資訊，請參閱 [CopySnapshot](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CopySnapshot.html)。

如果您想要將快照複製到另一個 AWS 區域，請使用 Amazon S3 複本將匯出的快照複製到另一個 AWS 區域中的 Amazon S3 儲存貯體。如需詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[複製物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/copy-object.html)。

# 從快照還原
<a name="snapshots-restoring"></a>

您可以隨時將資料從 MemoryDB 或 ElastiCache (Redis OSS) .rdb 快照檔案還原至新的叢集。

MemoryDB 還原程序支援下列項目：
+ 從您從 ElastiCache (Redis OSS) 建立的一或多個 .rdb 快照檔案遷移至 MemoryDB 叢集。

  您必須將 .rdb 檔案放在 S3 中，才能執行還原。
+ 在新叢集中指定與叢集中用來建立快照檔案的碎片數目不同的碎片數目。
+ 為新叢集指定不同節點類型 (大型或小型)。如果擴展到較小的節點類型，請確定新的節點類型有足夠的記憶體來容納您的資料和引擎額外負荷。
+ 設定新 MemoryDB 叢集的插槽，與用來建立快照檔案的叢集不同。

**重要**  
MemoryDB 叢集不支援多個資料庫。因此，還原至 MemoryDB 時，如果 .rdb 檔案參考多個資料庫，則還原會失敗。
您無法將快照從使用資料分層的叢集 （例如 r6gd 節點類型） 還原到不使用資料分層的叢集 （例如 r6g 節點類型）。

您是否在從快照還原叢集時進行任何變更，都會受您所做的選擇所管理。使用 MemoryDB 主控台還原時，您可以在**還原叢集**頁面中進行這些選擇。使用 AWS CLI 或 MemoryDB API 還原時，您可以透過設定參數值來做出這些選擇。

在還原操作期間，MemoryDB 會建立新的叢集，然後填入快照檔案中的資料。當此程序完成時，叢集會暖機並準備好接受請求。

**重要**  
在繼續之前，請確定您已建立您要從中還原之叢集的快照。如需詳細資訊，請參閱[製作手動快照](snapshots-manual.md)。  
如果您想要從外部建立的快照還原，請參閱 [使用外部建立的快照植入新叢集](snapshots-seeding-redis.md)。

下列程序說明如何使用 MemoryDB 主控台 AWS CLI、 或 MemoryDB API 將快照還原至新叢集。

## 從快照還原 （主控台）
<a name="snapshots-restoring-CON"></a>

**將快照還原至新叢集 （主控台）**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/) 的 MemoryDB 主控台。

1. 在導覽窗格中，選擇**快照**。

1. 在快照清單中，選擇您要還原的快照名稱名稱旁的按鈕。

1. 選擇**動作**，然後選擇**還原**

1. 在**叢集組態下，輸入下列項目：**

   1. **叢集名稱** – 必要。新叢集的名稱。

   1. **描述** – 選用。新叢集的描述。

1. 完成**子網路群組**區段：

   1. 對於**子網路群組**，建立新的子網路群組，或從您要套用至此叢集的可用清單中選擇現有的子網路群組。如果您要建立新的：
     + 輸入**名稱**
     + 輸入**描述**
     + 如果您啟用多個可用區，子網路群組必須至少包含兩個位於不同可用區域的子網路。如需詳細資訊，請參閱[子網路和子網路群組](subnetgroups.md)。
     + 如果您要建立新的子網路群組，但沒有現有的 VPC，系統會要求您建立 VPC。如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[什麼是 Amazon VPC？](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)。

1. 完成**叢集設定**區段：

   1. 針對 **Valkey 版本相容性**或 **Redis OSS 版本相容性**，請接受預設的 `6.0`。

   1. 對於**連接埠**，請接受預設連接埠 6379，或者，如果您有理由使用不同的連接埠，請輸入連接埠號碼。

   1. 對於**參數群組**，接受`default.memorydb-redis6`參數群組。

      參數群組可控制叢集的執行時間參數。如需參數群組的詳細資訊，請參閱[引擎特定參數](parametergroups.redis.md)。

   1. 針對**節點類型**，選擇所需的節點類型值 （及其相關聯的記憶體大小）。

      如果您選擇 r6gd 節點類型系列的成員，則會自動在叢集中啟用資料分層。如需詳細資訊，請參閱[資料分層](data-tiering.md)。

   1. 針對**碎片數量**，選擇您要用於此叢集的碎片數量。

      您可以動態變更叢集中的碎片數量。如需詳細資訊，請參閱[擴展 MemoryDB 叢集](scaling-cluster.md)。

   1. 針對 **Replicas per shard (每個碎片的複本)**，選擇您要讓每個碎片具備的僅供讀取複本節點數目。

      存在下列限制；。
      + 如果您已啟用多個可用區，請確保每個碎片至少有一個複本。
      + 使用主控台建立叢集時，每個碎片的複本數都相同。

   1. 選擇**下一步**

   1. 完成**進階設定**區段：

      1. 在 **Security groups (安全群組)** 中，選擇要用於此叢集的安全群組。*安全群組*可做為防火牆來控制叢集的網路存取。您可以使用 VPC 的預設安全群組，或建立新的安全群組。

         如需安全群組的詳細資訊，請參閱 *Amazon VPC 使用者指南*中的 [VPC 的安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。

      1. 資料會以下列方式加密：
         + **Encryption at rest (靜態加密)** - 啟用存放在磁碟上的資料加密功能。如需詳細資訊，請參閱[靜態加密](https://docs.aws.amazon.com/memorydb/latest/devguide/at-rest-encryption.html)。
**注意**  
您可以選擇**客戶受管 AWS KMS 金鑰**並選擇金鑰，以提供不同的加密金鑰。
         + **Encryption in-transit (傳輸中加密)** - 啟用傳輸中資料加密功能。其預設為啟用。如需詳細資訊，請參閱[傳輸中加密](https://docs.aws.amazon.com/memorydb/latest/devguide/in-transit-encryption.html)。

         如果您未選取加密，則會使用預設使用者建立名為「開放存取」的開放存取控制清單。如需詳細資訊，請參閱[使用存取控制清單 (ACLs) 驗證使用者](clusters.acls.md)。

      1. 對於**快照**，選擇性地指定快照保留期間和快照視窗。根據預設，會選取**啟用自動快照**。

      1. 對於**維護時段**，選擇性地指定維護時段。*維護時段*是 MemoryDB 為您的叢集排程系統維護的每週時間，通常長度為一小時。您可以允許 MemoryDB 選擇維護時段的日期和時間 (*無偏好設定*)，也可以自行選擇日期、時間和持續時間 (*指定維護時段*)。如果您從清單中選擇 *Specify maintenance window (指定維護時段)*，請為您的維護時段選擇 *Start day (開始日)*、*Start time (開始時間)* 和 *Duration (持續時間)*。所有時間都是 UCT 時間。

         如需詳細資訊，請參閱[管理維護作業](maintenance-window.md)。

      1. 針對 **Notifications (通知)**，選擇現有的 Amazon Simple Notification Service (Amazon SNS) 主題，或選擇手動輸入 ARN，並輸入主題的 Amazon 資源名稱 (ARN)。Amazon SNS 可讓您將通知推送至網際網路連線的智慧型裝置。預設為停用通知。如需詳細資訊，請參閱 [https://aws.amazon.com/sns/](https://aws.amazon.com/sns/)。

   1. 對於**標籤**，您可以選擇套用標籤來搜尋和篩選叢集或追蹤 AWS 成本。

   1. 檢閱所有項目和選項，然後進行任何所需的更正。準備就緒後，請選擇 **Create cluster (建立叢集)** 以啟動叢集，或 **Cancel (取消)** 取消操作。

   一旦叢集的狀態變為*可用*，您就可以為其授予 EC2 存取權限、連線至叢集並開始使用叢集。如需詳細資訊，請參閱[步驟3：授予叢集的存取權](getting-started.md#getting-started.authorizeaccess)及[步驟 4：連線至叢集](getting-started.md#getting-startedclusters.connecttonode)。
**重要**  
在您的叢集可用之後，系統就會按叢集作用中時間每個小時或部分小時計費 (即使您並未主動使用亦同)。若要停止此叢集產生費用，您必須將其刪除。請參閱 [步驟 5：刪除叢集](getting-started.md#clusters.delete)。

## 從快照還原 (AWS CLI)
<a name="snapshots-restoring-CLI"></a>

使用 `create-cluster`操作時，請務必包含 參數`--snapshot-name`或 `--snapshot-arns` ，將快照中的資料植入新叢集。

如需詳細資訊，請參閱下列內容：
+ [建立叢集 (AWS CLI)](getting-started.md#clusters.create.cli) 《*MemoryDB 使用者指南*》中的 。
+ 《 AWS CLI 命令參考》中的 [create-cluster](https://docs.aws.amazon.com/cli/latest/reference/memorydb/create-cluster.html)。

## 從快照還原 (MemoryDB API)
<a name="snapshots-restoring-API"></a>

您可以使用 MemoryDB API 操作 還原 MemoryDB 快照`CreateCluster`。

使用 `CreateCluster`操作時，請務必包含 參數`SnapshotName`或 `SnapshotArns` ，將快照中的資料植入新叢集。

如需詳細資訊，請參閱下列內容：
+ [建立叢集 (MemoryDB API)](getting-started.md#clusters.create.api) 《*MemoryDB 使用者指南*》中的 。
+ *MemoryDB API 參考*中的 [CreateCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_CreateCluster.html)。

# 使用外部建立的快照植入新叢集
<a name="snapshots-seeding-redis"></a>

建立新的 MemoryDB 叢集時，您可以使用 Valkey 或 Redis OSS .rdb 快照檔案中的資料植入叢集。

若要從 MemoryDB 快照或 ElastiCache (Redis OSS) 快照植入新的 MemoryDB 叢集，請參閱 [從快照還原](snapshots-restoring.md)。

當您使用 .rdb 檔案植入新的 MemoryDB 叢集時，您可以執行下列動作：
+ 在新叢集中指定多個碎片。此數目可以與叢集中用來建立快照檔案的碎片數目不同。
+ 為新叢集指定不同的節點類型 - 大於或小於建立快照之叢集中使用的節點類型。如果您擴展到較小的節點類型，請確定新的節點類型有足夠的記憶體來容納您的資料和引擎額外負荷。

**重要**  
您必須確保快照資料不超過節點的資源。  
如果快照太大，則產生的叢集狀態為 `restore-failed`。如果發生此情況，您必須刪除叢集並重新開始。  
如需節點類型和規格的完整清單，請參閱[MemoryDB 節點類型特定參數](parametergroups.redis.md#parametergroups.redis.nodespecific)。
您只能使用 Amazon S3 伺服器端加密 (SSE-S3) 來加密 .rdb 檔案。如需詳細資訊，請參閱[使用伺服器端加密保護資料](https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)。

## 步驟 1：在外部叢集上建立快照
<a name="snapshots-seeding-create-snapshot"></a>

**建立快照以植入您的 MemoryDB 叢集**

1. 連線到您現有的 Valkey 或 Redis OSS 執行個體。

1. 執行 `BGSAVE`或 `SAVE`操作來建立快照。記下您的 .rdb 檔案位置。

   `BGSAVE` 是非同步的，不會封鎖其他用戶端的處理。如需詳細資訊，請參閱 [BGSAVE](http://valkey.io/commands/bgsave)。

   `SAVE` 是同步的，並會封鎖其他處理序直到完成為止。如需詳細資訊，請參閱[儲存](http://valkey.io/commands/save)。

如需建立快照的詳細資訊，請參閱[持久性](http://valkey.io/topics/persistence)。

## 步驟 2：建立 Amazon S3 儲存貯體和資料夾
<a name="snapshots-seeding-create-s3-bucket"></a>

建立快照檔案後，您需要將其上傳至 Amazon S3 儲存貯體中的資料夾。若要執行此操作，您必須先擁有 Amazon S3 儲存貯體，且該儲存貯體中有資料夾。如果您已有具備適當許可的 Amazon S3 儲存貯體和資料夾，您可以跳到「[步驟 3：將快照上傳至 Amazon S3](#snapshots-seeding-upload)」。

**建立 Amazon S3 儲存貯體**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 依照 *Amazon Simple Storage Service 使用者指南*中的[建立儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)提供的指引操作，建立 Amazon S3 儲存貯體。

   Amazon S3 儲存貯體的名稱必須具 DNS 合規性。否則，MemoryDB 無法存取您的備份檔案。DNS 合規的規則如下：
   + 名稱長度須為 3 到 63 個字元。
   + 名稱必須是一連串一或多個標籤，並以句號 (.) 分隔，其中每個標籤：
     + 以小寫字母或數字開頭。
     + 以小寫字母或數字結尾。
     + 僅包含小寫字母、數字和破折號。
   + 不得使用 IP 地址格式 (例如 192.0.2.0)。

   強烈建議您在與新 MemoryDB 叢集相同的 AWS 區域中建立 Amazon S3 儲存貯體。此方法可確保 MemoryDB 從 Amazon S3 讀取 .rdb 檔案時的最高資料傳輸速度。
**注意**  
為了讓您的資料盡可能保持安全，請盡可能限制您 Amazon S3 儲存貯體的許可。同時， 許可仍然需要允許儲存貯體及其內容用於植入新的 MemoryDB 叢集。

**在 Amazon S3 儲存貯體中新增資料夾**

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

1. 選擇您要上傳 .rdb 檔案的目的地儲存貯體名稱。

1. 選擇 **Create folder** (建立資料夾)。

1. 輸入您的新資料夾名稱。

1. 選擇**儲存**。

   記下儲存貯體名稱和資料夾名稱。

## 步驟 3：將快照上傳至 Amazon S3
<a name="snapshots-seeding-upload"></a>

現在，上傳您在[步驟 1：在外部叢集上建立快照](#snapshots-seeding-create-snapshot)中建立的 .rdb 檔案 上傳到在 [步驟 2：建立 Amazon S3 儲存貯體和資料夾](#snapshots-seeding-create-s3-bucket) 中建立的 Amazon S3 儲存貯體和資料夾。如需此任務的詳細資訊，請參閱[上傳物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)。在步驟 2 到 3 之間，選擇您已建立的資料夾名稱。

**將 .rdb 檔案上傳到 Amazon S3 資料夾**

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

1. 選擇您在步驟 2 中建立的 Amazon S3 儲存貯體名稱。

1. 選擇您在步驟 2 中建立的資料夾名稱。

1. 選擇**上傳**。

1. 選擇 **Add files (新增檔案)**。

1. 瀏覽至您要上傳的一或多個檔案，然後選擇一或多個檔案。若要選擇多個檔案，請按住 Ctrl 鍵並選擇每個檔案名稱。

1. 選擇 **Open** (開啟)。

1. 確認上傳****頁面中列出正確的檔案，然後選擇**上傳**。

記下 .rdb 檔案的路徑。例如，如果您的儲存貯體名稱為 `amzn-s3-demo-bucket` 且路徑為 `myFolder/redis.rdb`，請輸入 `amzn-s3-demo-bucket/myFolder/redis.rdb`。您需要此路徑，才能在此快照中使用資料植入新叢集。

如需詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[儲存貯體命名規則](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)。

## 步驟 4：授予 MemoryDB 對 .rdb 檔案的讀取存取權
<a name="snapshots-seeding-grant-access"></a>

AWS 2019 年 3 月 20 日之前推出的區域預設為啟用。您可以立即開始在這些 AWS 區域中工作。2019 年 3 月 20 日之後引進的區域預設為停用。您必須啟用或選擇加入這些區域，才能使用它們，如[管理 AWS 區域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)中所述。

### 授予 MemoryDB 對 .rdb 檔案的讀取存取權
<a name="snapshots-seeding"></a>

**授予 MemoryDB 對快照檔案的讀取存取權**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 選擇包含您 .rdb 檔案的 S3 儲存貯體名稱。

1. 選擇包含您 .rdb 檔案的資料夾名稱。

1. 選擇 .rdb 快照檔案的名稱。所選檔案的名稱將會顯示在頁面頂端的標籤上方。

1. 選擇**許可**索引標籤。

1. 在 **Permissions** (許可) 中，選擇 **Bucket policy** (儲存貯體政策)，然後選擇 **Edit** (編輯)。

1. 更新政策以授予 MemoryDB 執行操作所需的許可：
   + 將 `[ "Service" : "region-full-name.memorydb-snapshot.amazonaws.com" ]` 新增至 `Principal`。
   + 新增下列將快照匯出至 Amazon S3 儲存貯體所需的許可：
     + `"s3:GetObject"`
     + `"s3:ListBucket"`
     + `"s3:GetBucketAcl"`

   以下是已更新政策可能有的外觀範例。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "Policy15397346",
       "Statement": [
           {
               "Sid": "Stmt15399483",
               "Effect": "Allow",
               "Principal": {
                   "Service": "us-east-1.memorydb-snapshot.amazonaws.com"
               },
               "Action": [
                   "s3:GetObject",
                   "s3:ListBucket",
                   "s3:GetBucketAcl"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/snapshot1.rdb",
                   "arn:aws:s3:::amzn-s3-demo-bucket/snapshot2.rdb"
               ]
           }
       ]
   }
   ```

------

1. 選擇**儲存**。

## 步驟 5：使用 .rdb 檔案資料種子 MemoryDB 叢集
<a name="snapshots-seeding-seed-cluster"></a>

現在您已準備好建立 MemoryDB 叢集，並使用 .rdb 檔案的資料將其植入。若要建立叢集，請遵循 的指示[建立 MemoryDB 叢集](getting-started.md#clusters.create)。

您用來告訴 MemoryDB 在何處尋找您上傳到 Amazon S3 的快照的方法，取決於您用來建立叢集的方法：

**使用 .rdb 檔案資料種子 MemoryDB 叢集**
+ **使用 MemoryDB 主控台**

  選擇引擎後，展開**進階設定**區段，並找到**將資料匯入叢集**。在 **Seed RDB file S3 location (植入 RDB 檔案 S3 位置)** 方塊中，輸入檔案的 Amazon S3 路徑。如果您有多個 .rdb 檔案，請以逗號分隔清單輸入每個檔案的路徑。Amazon S3 路徑看起來像 `amzn-s3-demo-bucket/myFolder/myBackupFilename.rdb`。
+ **使用 AWS CLI**

  如果您使用 `create-cluster` 或 `create-cluster` 操作，請使用參數 `--snapshot-arns` 來指定每個 .rdb 檔案的完整 ARN。例如 `arn:aws:s3:::amzn-s3-demo-bucket/myFolder/myBackupFilename.rdb`。ARN 必須解析為您存放在 Amazon S3 中的快照檔案。
+ **使用 MemoryDB API**

  如果您使用 `CreateCluster`或 `CreateCluster` MemoryDB API 操作，請使用 參數`SnapshotArns`為每個 .rdb 檔案指定完整 ARN。例如 `arn:aws:s3:::amzn-s3-demo-bucket/myFolder/myBackupFilename.rdb`。ARN 必須解析為您存放在 Amazon S3 中的快照檔案。

在建立叢集的過程中，快照中的資料會寫入叢集。您可以檢視 MemoryDB 事件訊息來監控進度。若要這樣做，請參閱 MemoryDB 主控台，然後選擇**事件**。您也可以使用 AWS MemoryDB 命令列界面或 MemoryDB API 來取得事件訊息。

# 標記快照
<a name="snapshots-tagging"></a>

您可以將自己的中繼資料以標籤形式指派給每個快照。標籤可讓您以不同的方式分類快照，例如依用途、擁有者或環境。當您有許多相同類型的資源時，這將會很有用，因為—您可以依據先前指派的標籤，快速識別特定的資源。如需詳細資訊，請參閱[您可以標記的資源](tagging-resources.md#tagging-your-resources)。

成本分配標籤是追蹤跨多個 AWS 服務成本的一種方式，方法是將發票上的費用依標籤值分組。若要進一步了解成本分配標籤，請參閱[使用成本分配標籤](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)。

使用 MemoryDB 主控台 AWS CLI、 或 MemoryDB API，您可以在快照上新增、列出、修改、移除或複製成本分配標籤。如需詳細資訊，請參閱[使用成本配置標籤監控成本](tagging.md)。

# 刪除快照
<a name="snapshots-deleting"></a>

自動快照會在其保留限制過期時自動刪除。如果您刪除叢集，也會刪除其所有自動快照。

MemoryDB 提供刪除 API 操作，可讓您隨時刪除快照，無論快照是自動還是手動建立。由於手動快照沒有保留限制，手動刪除是移除它們的唯一方法。

您可以使用 MemoryDB 主控台、 AWS CLI或 MemoryDB API 刪除快照。

## 刪除快照 （主控台）
<a name="snapshots-deleting-CON"></a>

下列程序會使用 MemoryDB 主控台刪除快照。

**刪除快照**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/) 的 MemoryDB 主控台。

1. 在左側導覽窗格中，選擇**快照**。

   快照畫面會顯示快照清單。

1. 選擇您要刪除之快照名稱左側的選項按鈕。

1. 選擇 **Actions (動作)**，然後選擇 **Delete (刪除 VPC)**。

1. 如果您想要刪除此快照，請在文字方塊`delete`中輸入 ，然後選擇**刪除**。若要取消刪除，請選擇**取消**。狀態會變更為「刪除中」**。

## 刪除快照 (AWS CLI)
<a name="snapshots-deleting-CLI"></a>

使用 delete-snapshot AWS CLI 操作搭配下列參數來刪除快照。
+ `--snapshot-name` – 要刪除的快照名稱。

下列程式碼會刪除快照 `myBackup`。

```
aws memorydb delete-snapshot --snapshot-name myBackup
```

如需詳細資訊，請參閱 *AWS CLI 命令參考*中的 [delete-snapshot](https://docs.aws.amazon.com/cli/latest/reference/memorydb/delete-snapshot.html)。

## 刪除快照 (MemoryDB API)
<a name="snapshots-deleting-API"></a>

使用 `DeleteSnapshot` API 操作搭配下列參數來刪除快照。
+ `SnapshotName` – 要刪除的快照名稱。

下列程式碼會刪除快照 `myBackup`。

```
https://memory-db.us-east-1.amazonaws.com/
   ?Action=DeleteSnapshot
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &SnapshotName=myBackup
   &Timestamp=20210802T192317Z
   &Version=2021-01-01
   &X-Amz-Credential=<credential>
```

如需詳細資訊，請參閱 [DeleteSnapshot](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DeleteSnapshot.html)。