翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
グローバルテーブルのルーティング戦略
グローバルテーブルのデプロイで最も複雑な部分は、おそらくリクエストルーティングの管理です。リクエストは、まずエンドユーザーから、何らかの方法で経路が選定されたリージョンに送る必要があります。リクエストは、 AWS Lambda 関数、コンテナ、または Amazon Elastic Compute Cloud (Amazon EC2) ノードにバックアップされたロードバランサーで構成されるコンピューティングレイヤーなど、そのリージョンの一部のサービスのスタックを検出し、場合によっては別のデータベースを含む他のサービスを検出します。このコンピューティングレイヤーは DynamoDB と通信します。そのためには、そのリージョンのローカルエンドポイントを使用する必要があります。グローバルテーブルのデータは、参加している他のすべてのリージョンにレプリケートされ、各リージョンには DynamoDB テーブルを中心に同様のサービスのスタックがあります。
グローバルテーブルは、さまざまなリージョンの各スタックに同じデータのローカルコピーを提供します。1 つのリージョンの 1 つのスタックを対象とした設計を行い、ローカルの DynamoDB テーブルに問題が発生した場合は、セカンダリリージョンの DynamoDB エンドポイントにリモート呼び出しを行うということも考えられます。これはベストプラクティスではありません。1 つのリージョンで DynamoDB が原因で問題が発生した場合 (または、スタック内の他の何か、または DynamoDB に依存する別のサービスが原因で発生する可能性が高い場合)、処理のためにエンドユーザーを別のリージョンにルーティングし、その別のリージョンのコンピューティングレイヤーを使用することをお勧めします。これは、ローカルの DynamoDB エンドポイントと通信します。このアプローチは、問題のあるリージョンを完全にルーティングします。回復性を確保するには、複数のリージョンにまたがるレプリケーションが必要です。コンピューティングレイヤーとデータレイヤーのレプリケーションです。
処理のためにエンドユーザーリクエストをリージョンにルーティングするには、さまざまな手法があります。適切な選択は、書き込みモードとフェイルオーバーに関する考慮事項によって異なります。このセクションでは、クライアント駆動型、コンピューティングレイヤー、Amazon Route 53、 の 4 つのオプションについて説明します AWS Global Accelerator。