

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

# Amazon Keyspaces でのマルチリージョンレプリケーションの仕組み
<a name="multiRegion-replication_how-it-works"></a>

このセクションでは、Amazon Keyspaces マルチリージョンレプリケーションの仕組みの概要を説明します。料金の詳細については、「[Amazon Keyspaces (for Apache Cassandra) pricing (Amazon Keyspaces (Apache Cassandra 向け) の料金)](https://aws.amazon.com/keyspaces/pricing)」を参照してください。

**Topics**
+ [Amazon Keyspaces でのマルチリージョンレプリケーションの仕組み](#multiRegion-replication_how-it-works-overview)
+ [マルチリージョンレプリケーションの競合の解決](#multiRegion-replication_how-it-works-conflict-resolution)
+ [マルチリージョンレプリケーションディザスタリカバリ](#howitworks_disaster_recovery)
+ [のマルチリージョンレプリケーションはデフォルトで AWS リージョン 無効になっています](#howitworks_mrr_opt_in)
+ [マルチリージョンレプリケーションとpoint-in-timeリカバリ (PITR) との統合](#howitworks_mrr_pitr)
+ [マルチリージョンレプリケーションと AWS サービスとの統合](#howitworks_integration)

## Amazon Keyspaces でのマルチリージョンレプリケーションの仕組み
<a name="multiRegion-replication_how-it-works-overview"></a>

Amazon Keyspaces マルチリージョンレプリケーションは、独立した地理的分散型にデータを分散するデータ耐障害性アーキテクチャを実装します AWS リージョン。*アクティブ-アクティブレプリケーション*を使用しているため、ローカルで低レイテンシーを実現し、各リージョンが個別に読み取りと書き込みを実行できます。

Amazon Keyspaces マルチリージョンキースペースを作成するときに、データがレプリケートされる追加のリージョンを選択できます。マルチリージョンのキー空間に作成するテーブルは、Amazon Keyspaces に 1 つの単位と認識される複数のレプリカテーブル (リージョンごとに 1 つ) で構成されます。

すべてのレプリカは、同じテーブル名と同じプライマリキーのスキーマを持っています。アプリケーションによって 1 つのリージョンのローカルテーブルにデータが書き込まれると、データはその `LOCAL_QUORUM` 整合性レベルを使用して永続的に書き込まれます。Amazon Keyspaces は、データを他のレプリケーションリージョンに自動的に非同期で複製します。リージョン間のレプリケーション遅延は通常 1 秒未満なので、アプリケーションのパフォーマンスやスループットには影響はありません。

データが書き込まれると、`LOCAL_ONE/LOCAL_QUORUM` 整合性レベルが設定された別のレプリケーションリージョンのマルチリージョンテーブルからデータを読み取ることができます。サポートされる設定の詳細については、「[Amazon Keyspaces マルチリージョンレプリケーションの使用に関する注意事項](multiRegion-replication_usage-notes.md)」をご参照ください。

![\[ユーザーは Amazon Keyspaces テーブルに保存されているデータをそれぞれのローカルで読み書きしています AWS リージョン が、Amazon Keyspaces は使用可能なすべてのリージョンのテーブル間で書き込みを非同期的にレプリケートします。\]](http://docs.aws.amazon.com/ja_jp/keyspaces/latest/devguide/images/keyspaces_multi_Region_replication.png)


## マルチリージョンレプリケーションの競合の解決
<a name="multiRegion-replication_how-it-works-conflict-resolution"></a>

Amazon Keyspaces マルチリージョンレプリケーションはフルマネージド型であるため、データ同期の問題をクリーンアップするために定期的に修復オペレーションを実行するなど、レプリケーションタスクを実行する必要はありません。Amazon Keyspaces は、競合を検出して修復 AWS リージョン することで、異なる のテーブル間のデータ整合性を監視し、レプリカを自動的に同期します。

Amazon Keyspaces では、*最終ライターが勝者となる*方法を使用してデータ調整を行います。この競合解決メカニズムでは、マルチリージョンキー空間内のすべてのリージョンが最新の更新を受け入れ、すべてのリージョンで同一のデータが保存される状態に収束します。調整プロセスはアプリケーションのパフォーマンスには影響しません。競合解決をサポートするため、マルチリージョンテーブルではクライアント側のタイムスタンプが自動的にオンになります。オフにすることはできません。詳細については、「[Amazon Keyspaces でのクライアント側のタイムスタンプ](client-side-timestamps.md)」を参照してください。

## マルチリージョンレプリケーションディザスタリカバリ
<a name="howitworks_disaster_recovery"></a>

Amazon Keyspaces マルチリージョンレプリケーションでは、書き込みは各リージョン間で非同期的にレプリケートされます。まれに単一リージョンの劣化や障害が発生した場合、マルチリージョンレプリケーションは、アプリケーションにほとんどまたはまったく影響することなく、災害から回復するのに役立ちます。ディザスターからの回復は、通常、目標復旧時間 (RTO) と目標復旧時点 (RPO) の値を使用して測定されます。

 **目標復旧時間** - ディザスター後にシステムが稼働状態に戻るまでにかかる時間。RTO は、ワークロードが許容できるダウンタイムを時間単位で測定します。マルチリージョンレプリケーションを使用して影響を受けていないリージョンにフェイルオーバーするディザスタリカバリプランの場合、RTO はほぼゼロになる可能性があります。RTO は、アプリケーションが障害状態をどれだけ早く検出してトラフィックを別のリージョンにリダイレクトできるかによって制限されます。

 **目標復旧時点** - 損失するおそれのあるデータの量 (時間単位)。マルチリージョンレプリケーションを使用して影響を受けていないリージョンにフェイルオーバーするディザスタリカバリプランの場合、RPO は通常 1 桁の秒です。RPO は、フェールオーバーターゲットレプリカへのレプリケーション遅延によって制限されます。

Amazon Keyspaces のレプリケーションはアクティブ-アクティブなので、リージョンの障害または機能低下が発生しても、セカンダリリージョンの昇格や、データベースのフェイルオーバー手順の実行は必要ありません。代わりに、Amazon Route 53 で、最も近くにある正常なリージョンにアプリケーションをルーティングできます。Route 53 の詳細については、「[Amazon Route 53 とは?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html)」を参照してください。 。

単一の AWS リージョン が分離または低下した場合、アプリケーションは Route 53 を使用してトラフィックを別のリージョンにリダイレクトし、別のレプリカテーブルに対して読み取りと書き込みを実行できます。また、カスタムビジネスロジックを適用すれば、リクエストを他のリージョンにリダイレクトするタイミングを決定できます。一例として、使用可能な複数のエンドポイントをアプリケーションに認識させるケースが考えられます。

リージョンがオンラインに戻ると、Amazon Keyspaces はそのリージョンから他のリージョンのレプリカテーブルへの保留中の書き込みの伝播を再開します。また、他のレプリカテーブルから現在オンラインに戻っているリージョンへの書き込みの伝播も再開します。

## のマルチリージョンレプリケーションはデフォルトで AWS リージョン 無効になっています
<a name="howitworks_mrr_opt_in"></a>

Amazon Keyspaces マルチリージョンレプリケーションは、デフォルトで無効 AWS リージョン になっている以下の でサポートされています。
+ アフリカ (ケープタウン) リージョン
+ 中東 (アラブ首長国連邦) リージョン
+ アジアパシフィック (香港) リージョン
+ 中東 (バーレーン) リージョン

Amazon Keyspaces マルチリージョンレプリケーションでデフォルトで無効になっているリージョンを使用するには、まずリージョンを有効にする必要があります。詳細については、[https://docs.aws.amazon.com/organizations/latest/userguide/](https://docs.aws.amazon.com/organizations/latest/userguide/)」の[「アカウント AWS リージョン で を有効または無効に](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)する」を参照してください。

リージョンを有効にしたら、そのリージョンに新しい Amazon Keyspaces リソースを作成し、そのリージョンをマルチリージョンキースペースに追加できます。

Amazon Keyspaces マルチリージョンレプリケーションで使用されるリージョンを無効にすると、Amazon Keyspaces は 24 時間の猶予期間を開始します。この時間枠では、次の動作が期待できます。
+ Amazon Keyspaces は、有効なリージョンで引き続きデータ操作言語 (DML) オペレーションを実行します。
+ Amazon Keyspaces は、有効なリージョンから無効なリージョンへのデータ更新のレプリケーションを一時停止します。
+ Amazon Keyspaces は、無効なリージョン内のすべてのデータ定義言語 (DDL) リクエストをブロックします。

リージョンを誤って無効にした場合は、24 時間以内にリージョンを再度有効にできます。24 時間の猶予期間中にリージョンを再度有効にすると、Amazon Keyspaces は次のアクションを実行します。
+ 再有効化されたリージョンへのすべてのレプリケーションを自動的に再開します。
+ データの整合性を確保するために、リージョンが無効になっている間に有効なリージョンで発生したデータ更新をレプリケートします。
+ 追加のすべてのマルチリージョンレプリケーションオペレーションを自動的に続行します。

24 時間のウィンドウが閉じた後もリージョンが無効のままの場合、Amazon Keyspaces は次のアクションを実行して、マルチリージョンレプリケーションからリージョンを完全に削除します。
+ すべてのマルチリージョンレプリケーションキースペースから無効なリージョンを削除します。
+ 無効なリージョンのマルチリージョンレプリケーションテーブルレプリカを単一リージョンのキースペースとテーブルに変換します。
+ Amazon Keyspaces は、無効なリージョンからリソースを削除しません。

Amazon Keyspaces が無効化されたリージョンをマルチリージョンキースペースから完全に削除した後は、無効化されたリージョンを再度追加することはできません。

## マルチリージョンレプリケーションとpoint-in-timeリカバリ (PITR) との統合
<a name="howitworks_mrr_pitr"></a>

Point-in-timeリカバリは、マルチリージョンテーブルでサポートされています。PITR を使用してマルチリージョンテーブルを正常に復元するには、次の条件を満たす必要があります。
+ ソーステーブルとターゲットテーブルは、マルチリージョンのテーブルとして設定します。
+ ソーステーブルのキー空間とターゲットテーブルのキー空間のレプリケーションリージョンは同じリージョンであることとします。
+ PITR は、ソーステーブルのすべてのレプリカで有効にする必要があります。

restore ステートメントは、ソーステーブルが使用可能であれば、どのリージョンからでも実行できます。Amazon Keyspaces は、各リージョンのターゲットテーブルを自動的に復元します。PITR の詳細については「[Amazon Keyspaces のポイントインタイムリカバリの仕組み](PointInTimeRecovery_HowItWorks.md)」を参照してください。

マルチリージョンテーブルを作成すると、作成プロセス中に定義した PITR 設定がすべてのリージョンのすべてのテーブルに自動的に適用されます。を使用して PITR 設定を変更すると`ALTER TABLE`、Amazon Keyspaces は更新をローカルテーブルにのみ適用し、他のリージョンのレプリカには適用されません。既存のマルチリージョンテーブルに対して PITR を有効にするには、すべてのレプリカに対して `ALTER TABLE`ステートメントを繰り返す必要があります。

## マルチリージョンレプリケーションと AWS サービスとの統合
<a name="howitworks_integration"></a>

Amazon CloudWatch メトリクスを使用して AWS リージョン 、異なる のテーブル間のレプリケーションパフォーマンスをモニタリングできます。次のメトリクスでは、マルチリージョンキー空間を継続的にモニタリングできます。
+ `ReplicationLatency` — このメトリクスは、マルチリージョンキー空間内のあるレプリカテーブルから別のレプリカテーブルへ `updates`、`inserts`、または `deletes` を複製するときの所用時間を測定します。

CloudWatch のメトリクスのモニタリング方法については、「[Amazon CloudWatch による Amazon Keyspaces のモニタリング](monitoring-cloudwatch.md)」を参照してください。