

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 障害の軽減
<a name="faulttolerance"></a>

MemoryDB の実装を計画した場合、障害がアプリケーションやデータに及ぼす影響を最小限にとどめるように計画する必要があります。このセクションのトピックでは、アプリケーションおよびデータを障害から保護するために実行できるアプローチについて説明します。

## 障害の軽減:MemoryDB クラスター
<a name="faulttolerance.cluster.replication"></a>

MemoryDB クラスターは、アプリケーションの読み取りと書き込みが可能な単一のプライマリノードと、0～5 個の読み取り専用のレプリカノードで構成されます。ただし、高可用性を実現するには、少なくとも 1 つのレプリカを使用することを強くお勧めします。データがプライマリノードに書き込まれるときは、そのデータはトランザクションログに永続的に保存され、レプリカノードでデータが非同期的に更新されます。

**リードレプリカが失敗した場合**

1. MemoryDB が、障害の発生したレプリカを検出します。

1. MemoryDB が、障害のあるノードをオフラインにします。

1. MemoryDB が、同じ AZ の代替のノードを起動し、プロビジョニングします。

1. 新しいノードがトランザクションログと同期されます。

この間、アプリケーションは他のノードを使用して読み書きを続行できます。

**MemoryDB マルチ AZ**  
マルチ AZ が MemoryDB クラスターでアクティブになっている場合、障害が発生したプライマリが検出され、自動的に置き換えられます。

****

1. MemoryDB がプライマリノードの失敗を検出します。

1. MemoryDB は、障害が発生したプライマリとの整合性を確認した後、レプリカにフェイルオーバーします。

1. MemoryDBは、障害が発生したプライマリの AZ のレプリカをスピンアップします。

1. 新しいノードがトランザクションログと同期されます。

レプリカノードへのフェイルオーバーは、通常、新しいプライマリノードを作成してプロビジョニングするより高速です。つまり、アプリケーションはプライマリノードへの書き込みをすばやく再開できることを意味します。

詳細については、「[マルチ AZ による MemoryDB のダウンタイムの最小化](autofailover.md)」を参照してください。