

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

# 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 複本提升為主要執行個體，比建立新的主要執行個體快得多。