

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

# 備份和還原 Amazon Neptune 資料庫叢集
<a name="backup-restore"></a>

本節顯示如何備份和還原 Neptune 資料庫叢集。

**Topics**
+ [Neptune 備份](#backup-restore-overview-backups)
+ [Neptune 資料庫叢集的容錯能力](backup-restore-overview-fault-tolerance.md)
+ [有助於管理 Neptune 備份儲存體的 CloudWatch 指標](backup-restore-overview-metrics.md)
+ [從 Neptune 備份還原資料](backup-restore-overview-restore.md)
+ [Neptune 中的備份時段](backup-restore-overview-backup-window.md)
+ [在 Neptune 中建立資料庫叢集快照](backup-restore-create-snapshot.md)
+ [從資料庫叢集快照還原](backup-restore-restore-snapshot.md)
+ [複製資料庫叢集快照](backup-restore-copy-snapshot.md)
+ [共享資料庫叢集快照](backup-restore-share-snapshot.md)
+ [刪除 Neptune 快照。](backup-restore-delete-snapshot.md)

## Neptune 備份
<a name="backup-restore-overview-backups"></a>

Neptune 會自動備份您的叢集磁碟區，並在*備份保留期*保留還原資料。Neptune 備份具有連續性和增量性，因此，您可以快速還原到備份保留期內的任何時間點。寫入備份資料時不會影響資料庫服務的效能或中斷服務。當您建立或修改資料庫叢集時，您可以指定 1 到 35 天的備份保留期。

若要控制您的備份儲存用量，您可以降低備份保留間隔、移除不再需要的舊手動快照，或同時進行兩者。若要協助管理您的成本，您可以監控連續備份和超出保留期的手動快照所耗用的儲存量。您可以降低備份保留間隔，並移除不再需要的手動快照。

如果希望備份可以保留超過備份保留期，您也可以在叢集磁碟區中建立資料快照。儲存快照需要支付 Neptune 的標準儲存費用。如需 Neptune 儲存體定價的詳細資訊，請參閱 [Amazon Neptune 定價](https://aws.amazon.com/neptune/pricing/)。

Neptune 會保留整個備份保留期的增量還原資料。因此，您只需要建立希望在備份保留期後仍能保留的資料快照。您可以從快照建立新的資料庫叢集。

**重要**  
如果您刪除資料庫叢集，其所有自動備份都會同時刪除，且無法將其復原。這表示，除非您選擇手動建立最後的資料庫快照，否則稍後無法將資料庫執行個體還原至其最後狀態。刪除叢集時，並不會刪除手動快照。

**注意**  
無論資料庫叢集的建立方式為何，Amazon Neptune 資料庫叢集的預設備份保留期為一天。
您無法停用 Neptune 上的自動備份。Neptune 的備份保留期是由資料庫叢集管理。

# Neptune 資料庫叢集的容錯能力
<a name="backup-restore-overview-fault-tolerance"></a>

Neptune 資料庫叢集特意設計為具備容錯能力。叢集磁碟區跨越單一區域中的多個可用區域 AWS ，而每個可用區域都包含叢集磁碟區資料的副本。此功能意味著資料庫叢集可承受可用區域故障，完全不會遺失資料，服務只會短暫中斷。

如果資料庫叢集中的主要執行個體失敗，Neptune 可透過兩種方式自動容錯移轉至新的主要執行個體：
+ 將現有的 Neptune 複本提升為新的主要執行個體
+ 建立新的主要執行個體

如果資料庫叢集有一或多個 Neptune 複本，則在失敗事件期間會將 Neptune 複本提升為主要執行個體。失敗事件會導致短暫中斷，在此期間，讀取和寫入操作會失敗，並引發例外狀況。不過，服務通常會在 120 秒之內恢復，往往不超過 60 秒。若要提高資料庫叢集的可用性，建議在兩個以上不同的可用區域中建立至少一或多個 Neptune 複本。

您可以指派每個 Neptune 複本的優先順序，以自訂複本在失敗之後提升為主要執行個體的順序。優先順序從 0 (代表最高優先順序) 到 15 (代表最低優先順序)。如果主要執行個體失敗，Neptune 會將優先順序最高的 Neptune 複本提升為新的主要執行個體。您隨時都可以修改 Neptune 複本的優先順序。修改優先順序不會觸發容錯移轉。

您可以使用 AWS CLI 來設定資料庫執行個體的容錯移轉優先順序，如下所示：

```
aws neptune modify-db-instance --db-instance-identifier (the instance ID) --promotion-tier (the failover priority value)
```

多個 Neptune 複本可以擁有相同的優先順序，形成提升層。如果兩個以上的 Neptune 複本共用相同的優先順序，Neptune 會提升最大的複本。如果兩個以上的 Neptune 複本擁有相同的優先順序和大小，Neptune 會提升相同提升層中的任意複本。

如果資料庫叢集不包含任何 Neptune 複本，則會在失敗事件期間重建主要執行個體。失敗事件會導致中斷，在此期間，讀取和寫入操作會失敗，並引發例外狀況。建立新的主要執行個體後，服務就會恢復，通常不超過 10 分鐘。將 Neptune 複本提升為主要執行個體，比建立新的主要執行個體快得多。

# 有助於管理 Neptune 備份儲存體的 CloudWatch 指標
<a name="backup-restore-overview-metrics"></a>

 您可以使用 Amazon CloudWatch 指標 `TotalBackupStorageBilled`、`SnapshotStorageUsed` 和 `BackupRetentionPeriodStorageUsed`，來檢閱和監控 Neptune 備份所使用的儲存用量，如下所示：
+ `BackupRetentionPeriodStorageUsed` 表示目前用於儲存連續備份的備份儲存量 (以位元組為單位)。此值取決於叢集磁碟區的大小，以及您在保留期中所做的變更量。不過，為了方便計費，該值不會超過保留期內累積的叢集磁碟區大小。例如，如果您叢集的 `VolumeBytesUsed` 大小為 107,374,182,400 位元組 (100GiB)，而保留期間為兩天，則 `BackupRetentionPeriodStorageUsed` 的最大值為 214,748,364,800 位元組 (100 GiB \$1 100 GiB)。
+ `SnapshotStorageUsed` 表示用於儲存在備份保留期間外的手動快照的備份儲存量 (以位元組為單位)。手動快照不會計入快照備份儲存，手動快照的建立時間戳記在保留期間內。所有自動快照也不會計入您的快照備份儲存。每個快照的大小是您取得快照時的叢集磁碟區大小。`SnapshotStorageUsed` 值取決於您保留的快照數量和每個快照的大小。例如，假設您在保留期間之外有一個手動快照，且叢集在拍攝快照時的 `VolumeBytesUsed` 大小為 100 GiB。SnapshotStorageUsed 的量是 107,374,182,400 位元組 (100 GiB)。
+ `TotalBackupStorageBilled` 表示 `BackupRetentionPeriodStorageUsed` 和 `SnapshotStorageUsed` 的總和 (以位元組為單位)，減去相當於叢集磁碟區大小的一天免費備份儲存量。可用備份儲存等同於最新的磁碟區大小。例如，如果您叢集的 `VolumeBytesUsed` 大小是 100 GiB，您的保留期間是兩天，而您在保留期間之外有一個手動快照，則 `TotalBackupStorageBilled` 是 214,748,364,800 個位元組 (200 GiB \$1 100 GiB - 100 GiB)。

您可以透過 [CloudWatch 主控台](https://console.aws.amazon.com/cloudwatch/ )使用 CloudWatch 指標，來監控 Neptune 叢集和建置報告。如需如何使用 CloudWatch 指標的詳細資訊，請參閱[監控 Neptune](monitoring.md)和[Neptune CloudWatch 指標](cw-metrics.md#cw-metrics-available)中的指標表格。

# 從 Neptune 備份還原資料
<a name="backup-restore-overview-restore"></a>

您可以從 Neptune 保留的備份資料或您已儲存的資料庫叢集快照來建立新的 Neptune 資料庫叢集，以復原資料。您可以利用從備份資料所建立之資料庫叢集的新副本，快速還原至備份保留期之內的任何時間點。Neptune 在備份保留期的連續和增量性質，意味著您不需要經常建立資料的快照來改善還原時間。

若要判斷資料庫執行個體的最晚或最早可還原時間，請在 Neptune 主控台尋找 `Latest Restorable Time` 或 `Earliest Restorable Time` 值。資料庫叢集的最晚可還原時間是指可讓您還原資料庫叢集的最近時間點，通常在目前時間的 5 分鐘內。最早可還原時間指定您在備份保留期之內可將叢集磁碟區還原到多久以前。

您可以檢查 `Latest Restorable Time` 和 `Earliest Restorable Time` 值，以判斷資料庫叢集還原何時完成。在還原操作完成之前，`Latest Restorable Time` 和 `Earliest Restorable Time` 值會傳回 NULL。如果 `Latest Restorable Time` 或 `Earliest Restorable Time` 傳回 NULL，則您無法要求備份或還原操作。

**使用 將資料庫執行個體還原至指定的時間 AWS 管理主控台**

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

1. 在導覽窗格中，選擇**執行個體**。選擇您要還原之資料庫叢集的主要執行個體。

1. 選擇 **Instance actions (執行個體動作)**，然後選擇 **Restore to point in time (還原至時間點)**。

   在**啟動資料庫執行個體**視窗中，選擇**還原時間**下的**自訂**。

1. 在 **Custom (自訂)** 下指定您要還原至何時的日期和時間。

1. 針對**設定**下的**資料庫執行個體識別符**，輸入新還原資料庫執行個體的名稱。

1. 選擇 **Launch DB Instance (啟動資料庫執行個體)**，以啟動還原的資料庫執行個體。

   將會以您指定的名稱建立新的資料庫執行個體，並建立新的資料庫叢集。資料庫叢集名稱是新的資料庫執行個體名稱，後面加上 `–cluster`。例如，若新的資料庫執行個體名稱是 `myrestoreddb`，則新的資料庫叢集名稱為 `myrestoreddb-cluster`。

# Neptune 中的備份時段
<a name="backup-restore-overview-backup-window"></a>

自動備份會每天在偏好的備份時段內執行。如果備份需要的時間超過所分配的備份時段，備份會在時段結束後繼續執行直到完成。備份時段不可與每週的資料庫執行個體維護時段重疊。

在自動備份期間，儲存輸入/輸出可能會在備份程序初始化時短暫暫停 (通常在幾秒內)。在備份異地同步備份部署時，可能會有幾分鐘的延遲增加情形。

備份時段通常由以 Neptune 為基礎的 Amazon RDS 控制平面，從每個區域的八小時時間區塊隨機選擇。從中指派預設備份時段之每個區域的時間區塊記載於《Amazon RDS 使用者指南》的[備份時段](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)一節中。

# 在 Neptune 中建立資料庫叢集快照
<a name="backup-restore-create-snapshot"></a>

Neptune 會建立資料庫叢集的儲存體磁碟區快照，備份整個資料庫叢集，而不只是個別的資料庫。當您建立資料庫叢集快照時，您需要識別要備份的資料庫叢集。接著，為您的資料庫叢集快照命名，以便稍後可從該快照還原。建立資料庫叢集快照所需的時間長短隨資料庫的大小而異。快照包含整個儲存磁碟區。因此，檔案大小 (例如暫存檔案) 也會影響建立快照所需的時間。

您可以使用 AWS CLI、 或 Neptune API AWS 管理主控台建立資料庫叢集快照。

## 使用主控台建立資料庫叢集快照
<a name="backup-restore-create-snapshot-console"></a>

**建立資料庫叢集快照**

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

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 在資料庫執行個體清單，選取資料庫叢集的主要執行個體。

1. 選擇 **Instance actions** (執行個體動作)，然後選擇 **Take snapshot** (擷取快照)。

   **Take DB Snapshot (建立資料庫快照)** 視窗隨即顯示。

1. 在 **Snapshot name (快照名稱)** 方塊中輸入資料庫叢集快照的名稱。

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

# 從資料庫叢集快照還原
<a name="backup-restore-restore-snapshot"></a>

當您建立資料庫叢集的 Amazon Neptune 快照時，Neptune 會建立該叢集的儲存體磁碟區快照，備份其所有資料，而不只是個別的執行個體。您稍後可以從這個資料庫叢集快照進行還原來建立新的資料庫叢集。還原資料庫叢集時，您需提供要做為還原來源的資料庫叢集快照名稱，然後為還原時所建立的新資料庫叢集提供一個名稱。

**Contents**
+ [從快照還原 Neptune 資料庫叢集時要謹記的事項](#backup-restore-restore-snapshot-considerations)
  + [您無法還原至現有的資料庫叢集](#backup-restore-restores-to-new-cluster)
  + [不會還原任何執行個體](#backup-restore-restore-no-restored-instances)
  + [不會還原任何自訂參數群組](#backup-restore-restore-default-parameters)
  + [不會還原任何自訂安全群組](#backup-restore-restore-default-security-group)
  + [您無法從共用的加密快照進行還原。](#backup-restore-restore-not-shared-and-encrypted)
  + [還原的資料庫叢集會使用與以前一樣多的儲存體](#backup-restore-restore-same-storage-allocation)
+ [如何從快照進行還原](#backup-restore-restore-snapshot-restoring)
  + [使用主控台從快照還原](#backup-restore-restore-snapshot-restoring-console)

## 從快照還原 Neptune 資料庫叢集時要謹記的事項
<a name="backup-restore-restore-snapshot-considerations"></a>

### 您無法還原至現有的資料庫叢集
<a name="backup-restore-restores-to-new-cluster"></a>

還原程序一律會建立新的資料庫叢集，因此您無法還原至已存在的資料庫叢集。

### 不會還原任何執行個體
<a name="backup-restore-restore-no-restored-instances"></a>

還原時所建立的新資料庫叢集沒有與其相關聯的執行個體。

一旦還原完成且您的新資料庫叢集可供使用，請明確建立您將需要的執行個體。您可以在 Neptune 主控台上或使用 [CreateDBInstance](api-instances.md#CreateDBInstance) API 來執行此動作。

### 不會還原任何自訂參數群組
<a name="backup-restore-restore-default-parameters"></a>

還原時建立的新資料庫叢集會自動具有與其相關聯的預設資料庫參數群組。

一旦還原完成且您的新資料庫叢集可供使用，請為您從中進行還原的執行個體正在使用的任何自訂資料庫參數群組建立關聯。若要這麼做，請在 Neptune 主控台或 [ModifyDBInstance](api-instances.md#ModifyDBInstance) API 上使用**修改**命令。

**重要**  
建議您儲存要建立其快照的資料庫叢集中使用的自訂參數群組。然後，從該快照進行還原時，您可以輕鬆地將正確的參數群組與還原的資料庫叢集建立關聯。

### 不會還原任何自訂安全群組
<a name="backup-restore-restore-default-security-group"></a>

還原時建立的新資料庫叢集會自動具有與其相關聯的預設安全群組。

一旦還原完成且您的新資料庫叢集可供使用，請為您從中進行還原的執行個體正在使用的任何自訂安全群組建立關聯。若要這麼做，請在 Neptune 主控台或 [ModifyDBInstance](api-instances.md#ModifyDBInstance) API 上使用**修改**命令。

### 您無法從共用的加密快照進行還原。
<a name="backup-restore-restore-not-shared-and-encrypted"></a>

您無法從已共用又加密的資料庫叢集快照來還原資料庫叢集。

相反，建立非共用的快照複本，然後從該副本進行還原。

### 還原的資料庫叢集會使用與以前一樣多的儲存體
<a name="backup-restore-restore-same-storage-allocation"></a>

當您從資料庫叢集快照還原資料庫叢集時，配置給新叢集的儲存空間數量與配置給建立快照的資料庫叢集相同，無論該配置的儲存空間實際使用量有多少。

 換句話說，您需要付費的「高水位線」不會變更。重設高水位需要從圖形中導出資料，然後將其重新載入新資料庫叢集 (請參閱[Neptune 儲存計費](feature-overview-storage.md#feature-overview-storage-billing))。

## 如何從快照進行還原
<a name="backup-restore-restore-snapshot-restoring"></a>

您可以使用 AWS 管理主控台 AWS CLI、 或 Neptune API 從資料庫叢集快照還原資料庫叢集。

### 使用主控台從快照還原
<a name="backup-restore-restore-snapshot-restoring-console"></a>

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

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

1. 選擇想要從中還原的資料庫叢集快照。

1. 選擇 **Actions (動作)** 和 **Restore Snapshot (還原快照)**。

1. 在 **Restore DB Instance (還原資料庫執行個體)** 頁面上，於 **DB Instance Identifier (資料庫執行個體識別符)** 方塊中輸入已還原的資料庫叢集名稱。

1. 選擇 **Restore DB Instance (還原資料庫執行個體)**。

1. 如果您想要將資料庫叢集的功能還原為建立快照來源的資料庫叢集的功能，您必須修改資料庫叢集，才能使用安全群組。後續步驟假設您的資料庫叢集位於虛擬私有雲端 (VPC) 中。如果您的資料庫叢集不在 VPC 中，請使用 Amazon EC2 主控台找到資料庫叢集所需的安全群組。

   1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

   1. 在導覽窗格中，選擇 **Security Groups** (安全群組)。

   1. 選擇您想要用於資料庫叢集的安全群組。如果必要，請新增規則以將安全群組連結至 EC2 執行個體的安全群組。

# 複製資料庫叢集快照
<a name="backup-restore-copy-snapshot"></a>

使用 Neptune，您可以複製自動或手動的資料庫​叢集快照。複製快照之後，副本即為手動快照。

您可以在相同 AWS 區域內和跨 AWS 區域複製快照。快照可在單一步驟中跨區域和帳戶複製。

將自動快照複製到另一個 AWS 帳戶是一個兩步驟的程序：首先，從自動快照建立手動快照，然後將手動快照複製到另一個帳戶。

 除了複製之外，您也可以與其他 AWS 帳戶共用手動快照。如需詳細資訊，請參閱[共享資料庫叢集快照](backup-restore-share-snapshot.md)。

**Topics**
+ [複製快照時的限制](#backup-restore-copy-snapshot-limitations)
+ [保留資料庫叢集快照副本](#backup-restore-copy-snapshot-retention)
+ [複製快照時處理加密](#backup-restore-copy-snapshot-encryption)
+ [跨 AWS 區域複製快照](#backup-restore-copy-snapshot-cross-region)
+ [使用主控台複製資料庫叢集快照](#backup-restore-copy-snapshot-console)
+ [使用 複製資料庫叢集快照 AWS CLI](#backup-restore-copy-snapshot-cli)

## 複製快照時的限制
<a name="backup-restore-copy-snapshot-limitations"></a>

以下是複製快照時的一些限制：
+ 您可以在中國 （北京） 和中國 （寧夏） 之間複製快照，但您無法在這些中國區域和其他 AWS 區域之間複製快照。
+ 您可以在 AWS GovCloud （美國東部） 和 AWS GovCloud （美國西部） 之間複製快照，但您無法在這些 AWS GovCloud (US) 區域和其他 AWS 區域之間複製快照。
+ 如果您在目標快照變成可用之前刪除來源快照，則快照副本可能會失敗。刪除來源快照之前，請確認目標快照的狀態為 `AVAILABLE`。
+ 每一帳戶的單一區域最多可有 5 個進行中的快照副本請求。
+ 根據涉及的區域和要複製的資料量而定，跨區域快照複製可能需要數小時才會完成。

  如果來自指定來源 AWS 區域的跨區域快照複製請求數量很大，Neptune 可能會將來自該來源 AWS 區域的新跨區域複製請求放入佇列，直到某些進行中的複本完成為止。位於該佇列中的複製請求不會顯示進度資訊。只有在複製開始後才會顯示進度資訊。

## 保留資料庫叢集快照副本
<a name="backup-restore-copy-snapshot-retention"></a>

Neptune 會刪除自動快照，如下所示：
+ 在其保留期結束時。
+ 當您停用資料庫叢集的自動快照時。
+ 當您刪除資料庫叢集時。

如果想要讓自動快照保留期間更長，請複製自動快照來建立手動快照，然後即可保留到您刪除為止。如果手動快照超出預設儲存空間，則其可能產生 Neptune 儲存成本。

如需備份儲存成本的詳細資訊，請參閱 [Neptune 定價](https://aws.amazon.com/neptune/pricing/)。

## 複製快照時處理加密
<a name="backup-restore-copy-snapshot-encryption"></a>

您可以使用加密金鑰複製已 AWS KMS 加密的快照。如果您複製加密快照，則快照的副本也必須加密。您可以使用與原始快照相同的 AWS KMS 加密金鑰來加密複本，也可以指定不同的 AWS KMS 加密金鑰。

複製時，您不能加密未加密的資料庫叢集快照。

對於 Amazon Neptune 資料庫叢集快照，您也可以讓資料庫叢集快照保持未加密狀態，並在還原時指定 AWS KMS 加密金鑰。還原的資料庫叢集會以指定的金鑰加密。

## 跨 AWS 區域複製快照
<a name="backup-restore-copy-snapshot-cross-region"></a>

當您將快照複製到與來源快照 AWS 區域不同的 AWS 區域時，第一個複本是完整快照複本，即使您複製增量快照也一樣。完整的快照副本內含所有還原資料庫執行個體所需的資料及中繼資料。在第一個快照複製之後，您可以將相同資料庫執行個體的增量快照複製到相同 AWS 帳戶中的相同目的地區域。

增量式快照僅含相同資料庫執行個體最近一次拍攝快照之後所變更的資料。增量式快照複製速度較快，而且儲存成本較完整的快照複製低。未加密和加密的快照都支援跨 AWS 區域的增量快照複製。

**重要**  
對於共用快照，不支援複製增量式快照。對於共用快照，即使位於相同區域內，所有副本都是完整快照。

根據涉及 AWS 的區域和要複製的資料量，跨區域快照複本可能需要數小時才能完成。

## 使用主控台複製資料庫叢集快照
<a name="backup-restore-copy-snapshot-console"></a>

如果來源資料庫引擎是 Neptune，則快照即為資料庫叢集快照。對於每個 AWS 帳戶，每個 AWS 區域一次最多可以複製五個資料庫叢集快照。支援複製加密和未加密的資料庫叢集快照。

如需資料傳輸定價的詳細資訊，請參閱 [Neptune 定價](https://aws.amazon.com/neptune/pricing/)。

若要取消已開始進行的複製操作，請在目標資料庫叢集快照處於 **copying (複製中)** 狀態時，刪除其快照。

下列程序適用於複製加密或未加密的資料庫叢集快照：

**複製資料庫叢集快照**

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

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

1. 選取您要複製之資料庫叢集快照的核取方塊。

1. 選擇 **Actions (動作)**，然後選擇 **Copy Snapshot (複製快照)**。**Make Copy of DB Snapshot (複製資料庫快照)** 頁面隨即顯示。

1. 在 **New DB Snapshot Identifier (新的資料庫快照識別符)** 中輸入資料庫叢集快照副本的名稱。

1. 若要將快照中的標籤和值複製到快照的副本，請選擇 **Copy Tags (複製標籤)**。

1. 在 **Enable Encryption (啟用加密)** 中，選擇以下其中一項：
   + 如果資料庫叢集快照未加密，且您不要將副本加密，請選擇 **Disable encryption (停用加密)**。
   + 如果資料庫叢集快照未加密，但您想要將副本加密，請選擇 **Enable encryption (啟用加密)**。在此情況下，對於**主金鑰**，指定用於加密資料庫叢集快照複本的 AWS KMS 金鑰識別符。
   + 如果資料庫叢集快照已加密，請選擇 **Enable encryption (啟用加密)**。在此情況下，您必須加密副本，所以已選取 **Yes (是)**。針對**主金鑰**，指定用於加密資料庫叢集快照複本的 AWS KMS 金鑰識別符。

1. 選擇 **Copy Snapshot (複製快照)**。

## 使用 複製資料庫叢集快照 AWS CLI
<a name="backup-restore-copy-snapshot-cli"></a>

您可以使用 [copy-db-cluster-snapshot](api-snapshots.md#CopyDBClusterSnapshot) AWS CLI 命令來複製資料庫快照。

如果您要將快照複製到新 AWS 區域，請在新區域中執行 命令。

使用以下參數說明和範例來決定使用 AWS CLI複製快照時要使用哪些參數。
+ `--source-db-cluster-snapshot-identifier` – 來源資料庫快照的識別碼。
  + 如果來源快照與副本位於相同的 AWS 區域，請指定有效的資料庫快照識別符，例如 `neptune:instance1-snapshot-20130805`。
  + 如果來源快照與複本位於不同的 AWS 區域，請指定有效的資料庫快照 ARN，例如 `arn:aws:neptune:us-west-2:123456789012:snapshot:instance1-snapshot-20130805`。
  + 如果您要從共用的手動資料庫快照複製，此參數必須是共用資料庫快照的 Amazon 資源名稱 (ARN)。
  + 如果您要複製加密快照，此參數必須是來源 AWS 區域的 ARN 格式，而且必須符合 `PreSignedUrl` 參數`SourceDBSnapshotIdentifier`中的 。
+ `--target-db-cluster-snapshot-identifier` – – 加密資料庫快照之新副本的識別符。
+ `--kms-key-id` –   –   加密資料庫快照的 AWS KMS 金鑰 ID。 AWS KMS 金鑰 ID 是 AWS KMS 加密金鑰的 Amazon Resource Name (ARN)、 AWS KMS 金鑰識別符或 AWS KMS 金鑰別名。
  + 如果您從 AWS 帳戶複製加密的資料庫快照，您可以指定此參數的值，以使用新的加密金鑰 AWS KMS 來加密複本。如果您未指定此參數的值，則會使用與來源資料庫快照相同的 AWS KMS 金鑰來加密資料庫快照的複本。
  + 您無法使用此參數，建立未加密快照的加密副本。嘗試這樣做將會產生錯誤。
  + 如果您將加密快照複製到不同的 AWS 區域，則必須為目的地 AWS 區域指定 AWS KMS 金鑰。 AWS KMS 加密金鑰專屬於 AWS 它們建立的區域，而且您無法使用來自另一個 AWS 區域中某個 AWS 區域的加密金鑰。
+ `--source-region` –   –   來源資料庫快照所在 AWS 區域的 ID。如果您將加密快照複製到不同的 AWS 區域，則必須指定此選項。
+ `--region` –   –   您要複製快照 AWS 的區域 ID。如果您將加密快照複製到不同的 AWS 區域，則必須指定此選項。

**Example 從未加密的快照到相同區域**  
下列程式碼會使用新名稱 建立快照的副本`mydbsnapshotcopy`，從 `us-east-1` AWS 區域到 `us-west-2`區域。  
對於 Linux、OS X 或 Unix：  

```
aws neptune copy-db-cluster-snapshot \
  --source-db-cluster-snapshot-identifier instance1-snapshot-20130805 \
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy
```
針對 Windows：  

```
aws neptune copy-db-cluster-snapshot ^
  --source-db-cluster-snapshot-identifier instance1-snapshot-20130805 ^
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy
```

**Example 從未加密的快照跨區域**  
下列程式碼會使用新名稱 建立快照的副本`mydbsnapshotcopy`，從 `us-east-1` AWS 區域到 `us-west-2`區域。在 `us-west-2` 區域中執行命令。  
對於 Linux、OS X 或 Unix：  

```
aws neptune copy-db-cluster-snapshot \
  --source-db-cluster-snapshot-identifier arn:aws:neptune:us-east-1:123456789012:snapshot:instance1-snapshot-20130805 \
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy \
  --source-region us-east-1 \
  --region us-west-2
```
針對 Windows：  

```
aws neptune copy-db-cluster-snapshot ^
  --source-db-cluster-snapshot-identifier arn:aws:neptune:us-east-1:123456789012:snapshot:instance1-snapshot-20130805 ^
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy ^
  --source-region us-east-1 ^
  --region us-west-2
```

**Example 從已加密的快照跨區域**  
下列程式碼範例會將加密的資料庫快照從 `us-east-1` AWS 區域複製到 `us-west-2`區域。在 `us-west-2` 區域中執行命令。  
對於 Linux、OS X 或 Unix：  

```
aws neptune copy-db-cluster-snapshot \
  --source-db-cluster-snapshot-identifier arn:aws:neptune:us-west-2:123456789012:snapshot:instance1-snapshot-20161115 \
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy \
  --source-region us-east-1 \
  --region us-west-2
  --kms-key-id my_us_west_2_key
```
針對 Windows：  

```
aws neptune copy-db-cluster-snapshot ^
  --source-db-cluster-snapshot-identifier arn:aws:neptune:us-west-2:123456789012:snapshot:instance1-snapshot-20161115 ^
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy ^
  --source-region us-east-1 ^
  --region us-west-2
  --kms-key-id my-us-west-2-key
```

# 共享資料庫叢集快照
<a name="backup-restore-share-snapshot"></a>

使用 Neptune 時，您可以透過下列方式共用手動資料庫叢集快照：
+ 共用手動資料庫叢集快照，無論是加密或未加密，都可讓授權 AWS 帳戶複製快照。
+ 共用未加密的手動資料庫叢集快照可讓授權 AWS 帳戶直接從快照還原資料庫叢集，而不是複製資料庫叢集並從中還原。加密的快照無法直接還原；必須先複製，然後從複本還原。

**注意**  
若要共用自動資料庫叢集快照，請複製該自動快照來建立手動資料庫叢集快照，然後共用該複本。

如需從資料庫叢集快照還原資料庫叢集的詳細資訊，請參閱[如何從快照進行還原](backup-restore-restore-snapshot.md#backup-restore-restore-snapshot-restoring)。

您可以與最多 20 個其他 AWS 帳戶共用手動快照。您也可以將未加密的手動快照共用為公有，讓所有 AWS 帳戶都能使用快照。將快照以公有形式共用時，請小心不要在任何公有快照中包含您的私人資訊。

**注意**  
當您使用 AWS Command Line Interface (AWS CLI) 或 Neptune API 從共用快照還原資料庫叢集時，您必須指定共用快照的 Amazon Resource Name (ARN) 做為快照識別符。

**Topics**
+ [共用加密的資料庫叢集快照。](#backup-restore-share-snapshot-encrypted)
+ [共享資料庫叢集快照](#backup-restore-share-snapshot-sharing)

## 共用加密的資料庫叢集快照。
<a name="backup-restore-share-snapshot-encrypted"></a>

您可以共用已使用 AES-256 加密演算法「靜態」加密的資料庫叢集快照。如需詳細資訊，請參閱[加密 Amazon Neptune 資料庫中的靜態資料](encrypt.md)。若要這樣做，您必須採取下列步驟：

1. 與您想要能夠存取快照的任何帳戶共用用來加密快照的 AWS Key Management Service (AWS KMS) 加密金鑰。

   您可以將其他 AWS 帳戶新增至 KMS 金鑰政策，以與其他帳戶共用 AWS KMS 加密金鑰。如需有關更新金鑰政策的詳細資訊，請參閱 [https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) 開發人員指南*中的AWS KMS 金鑰政策*。有關建立金鑰政策的範例，請參閱本主題稍後的[建立 IAM 政策以允許複製加密快照](#backup-restore-share-snapshot-encrypted-key-iam)。

1. 使用 AWS CLI AWS 管理主控台或 Neptune API 與其他帳戶共用加密快照。

共用加密快照有下列限制：
+ 您無法將加密快照以公有形式共用。
+ 您無法共用已使用共用快照之 AWS 帳戶的預設 AWS KMS 加密金鑰進行加密的快照。

### 允許存取 AWS KMS 加密金鑰
<a name="backup-restore-share-snapshot-encrypted-key"></a>

若要讓另一個 AWS 帳戶複製從您的帳戶共用的加密資料庫叢集快照，您與之共用快照的帳戶必須能夠存取加密快照的 KMS 金鑰。若要允許另一個 AWS 帳戶存取 AWS KMS 金鑰，請將 KMS 金鑰的金鑰政策更新為您在 KMS 金鑰政策`Principal`中以 身分共用之 AWS 帳戶的 ARN。然後允許 `kms:CreateGrant` 動作。如需一般指示，請參閱《AWS Key Management Service 開發人員指南》**中的[允許其他帳戶中的使用者使用 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)。

將 KMS 加密金鑰的存取權授予 AWS 帳戶之後，若要複製加密快照，如果該 AWS 帳戶還沒有 IAM 使用者，則必須建立該帳戶。KMS 安全限制不允許為此使用根 AWS 帳戶身分。 AWS 帳戶也必須將 IAM 政策連接至該 IAM 使用者，以允許 IAM 使用者使用您的 KMS 金鑰複製加密的資料庫叢集快照。

在以下金鑰政策範例中，使用者 `111122223333` 是 KMS 加密金鑰的擁有者，使用者 `444455556666` 是共用金鑰的帳戶。此更新的金鑰政策透過將使用者的根 AWS 帳戶身分 ARN 作為政策`Principal`的 `444455556666` ，以及允許 `kms:CreateGrant`動作，為 AWS 帳戶提供 KMS 金鑰的存取權。

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

****  

```
{
    "Id": "key-policy-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowUseOfTheKey",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/KeyUser",
                    "arn:aws:iam::444455556666:root"
                ]
            },
            "Action": [
                "kms:CreateGrant",
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowAttachmentOfPersistentResources",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/KeyUser",
                    "arn:aws:iam::444455556666:root"
                ]
            },
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}
```

------

#### 建立 IAM 政策以允許複製加密快照
<a name="backup-restore-share-snapshot-encrypted-key-iam"></a>

在外部 AWS 帳戶可以存取您的 KMS 金鑰之後，該帳戶的擁有者可以建立政策，允許為帳戶建立的 IAM 使用者複製使用該 KMS 金鑰加密的加密快照。

下列範例顯示可以連接到 AWS 帳戶 `444455556666` 之 IAM 使用者的政策。它可讓 IAM 使用者從 AWS 帳戶 `111122223333` 複製共用快照，此帳戶已在 `us-west-2` 區域中以 KMS 金鑰 `c989c1dd-a3f2-4a5d-8d96-e793d082ab26` 加密。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowUseOfTheKey",
            "Effect": "Allow",
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey",
                "kms:CreateGrant",
                "kms:RetireGrant"
            ],
            "Resource": ["arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"]
        },
        {
            "Sid": "AllowAttachmentOfPersistentResources",
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": ["arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"],
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}
```

------

如需有關更新金鑰政策的詳細資訊，請參閱 [https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) 開發人員指南*中的AWS Key Management Service 金鑰政策*。

## 共享資料庫叢集快照
<a name="backup-restore-share-snapshot-sharing"></a>

您可以使用 AWS CLI、 或 Neptune API AWS 管理主控台共用資料庫叢集快照。

### 使用主控台共享資料庫叢集快照
<a name="backup-restore-share-snapshot-sharing-console"></a>

使用 Neptune 主控台，您可以將手動資料庫叢集快照與最多 20 個 AWS 帳戶共用。您也可以停止與一或多個帳戶共享手動快照。

**共享手動資料庫叢集快照**

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

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

1. 選擇您要共享的手動快照。

1. 選擇 **Actions (動作)** 和 **Share Snapshot (共享快照)**。

1. 在 **DB snapshot visibility (資料庫快照可見度)** 中，選擇下列其中一個選項。
   + 如果來源未加密，請選擇**公有**，來允許所有 AWS 帳戶從您的手動資料庫叢集快照還原資料庫叢集。或者，選擇**私有**，僅允許您指定的 AWS 帳戶從手動資料庫叢集快照還原資料庫叢集。
**警告**  
如果您將**資料庫快照可見**性設定為**公**有，則所有 AWS 帳戶都可以從手動資料庫叢集快照還原資料庫叢集，並有權存取您的資料。請勿將任何包含私人資訊的手動資料庫叢集快照以 **Public (公有)** 形式共用。
   + 如果來源資料庫叢集已加密，**DB snapshot visibility (資料庫快照可見度)** 會設為 **Private (私有)**，因為加密快照無法以公有形式共用。

1. 針對**AWS 帳戶 ID**，輸入您要允許 從手動快照還原資料庫叢集之帳戶 AWS 的帳戶識別符。接著選擇 **Add (新增)**。重複 以包含額外的 AWS 帳戶識別符，最多 20 個 AWS 帳戶。

   如果您在將 AWS 帳戶識別符新增至允許的帳戶清單時發生錯誤，您可以選擇不正確 AWS 帳戶識別符右側的**刪除**，將其從清單中刪除。

1. 為要允許還原手動快照的所有 AWS 帳戶新增識別符後，請選擇**儲存**。

**停止與 AWS 帳戶共用手動資料庫叢集快照**

1. 在 [https://console.aws.amazon.com/neptune/home](https://console.aws.amazon.com/neptune/home) 開啟 Amazon Neptune 主控台。

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

1. 選擇您希望停止共享的手動快照。

1. 選擇 **Actions** (動作)，然後選擇 **Share Snapshot** (共享快照)。

1. 若要移除 AWS 帳戶的許可，請從授權**** AWS 帳戶清單中選擇刪除該帳戶的帳戶識別符。

1. 選擇**儲存**。

# 刪除 Neptune 快照。
<a name="backup-restore-delete-snapshot"></a>

您可以使用 AWS 管理主控台、 AWS CLI或 Neptune 管理 API 刪除資料庫快照：

## 使用主控台刪除
<a name="backup-restore-delete-snapshot-console"></a>

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

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

1. 選擇想要刪除的資料庫快照。

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

1. 在確認頁面上，選擇 **Delete (刪除)**。

## 使用 刪除 AWS CLI
<a name="backup-restore-delete-snapshot-cli"></a>

您也可以使用 AWS CLI [delete\$1db\$1cluster\$1snapshot](api-snapshots.md#DeleteDBClusterSnapshot) 命令，刪除資料庫快照，使用 `--db-snapshot-identifier` 參數以識別您要刪除的快照：

對於 Linux、OS X 或 Unix：

```
1. aws neptune delete-db-cluster-snapshot \
2.     --db-snapshot-identifier <name-of-the-snapshot-to-delete>
```

針對 Windows：

```
1. aws neptune delete-db-cluster-snapshot ^
2.     --db-snapshot-identifier <name-of-the-snapshot-to-delete>
```

## 使用 Neptune 管理 API 刪除
<a name="backup-restore-delete-snapshot-api"></a>

您可以使用其中一個 SDK，藉由呼叫 [DeleteDBClusterSnapshot](api-snapshots.md#DeleteDBClusterSnapshot) API 來刪除資料庫快照，並使用 `DBSnapshotIdentifier` 參數以識別要刪除的資料庫快照。