クライアント主導のリクエストルーティング - AWS 規範ガイダンス

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

クライアント主導のリクエストルーティング

次の図に示すように、クライアント駆動型のリクエストルーティングでは、エンドユーザークライアント (アプリケーション、JavaScript を使用したウェブページ、または別のクライアント) は有効なアプリケーションエンドポイント (リテラル DynamoDB エンドポイントではなく Amazon API Gateway エンドポイントなど) を追跡し、独自の埋め込みロジックを使用して通信するリージョンを選択します。ランダムな選択、観測されたレイテンシーの最小値、観測された帯域幅の最大値、またはローカルで実行されたヘルスチェックに基づいて選択できます。

クライアント主導のリクエストルーティング

利点として、クライアント駆動型のリクエストルーティングは、実際のパブリックインターネットトラフィック条件などに適応して、パフォーマンスの低下に気付いた場合にリージョンを切り替えることができます。クライアントは、すべての潜在的なエンドポイントを認識している必要がありますが、新しいリージョンエンドポイントの立ち上げは頻繁に起こることではありません。

任意のリージョンへの書き込みモードでは、クライアントは一方的に任意のエンドポイントを選択できます。1 つのリージョンへのアクセスが損なわれた場合、クライアントは別のエンドポイントにルーティングできます。

1 つのリージョンへの書き込みモードでは、クライアントは現在アクティブなリージョンに書き込みリクエストをルーティングするメカニズムが必要です。これは、現在書き込みリクエストを受け入れているリージョンを経験的にテストする (書き込み拒否に注意し、代替 にフォールバックする) など、基本的なメカニズムである可能性があります。または、グローバルコーディネーターを使用して現在のアプリケーション状態 (おそらく Amazon Application Recovery Controller (ARC) ルーティングコントロール上に構築されており、このようなニーズに応じてグローバル状態を維持するための 5 つのリージョンのクォーラム駆動型システムを提供します) をクエリするなどの複雑なメカニズムである場合があります。クライアントは、読み取りリクエストを結果整合性のために任意のリージョンに送信できるかどうか、または強力な整合性のためにアクティブなリージョンにルーティングする必要があるかどうかを判断できます。

リージョンへの書き込みモードでは、クライアントは使用しているデータセットのホームリージョンを決定する必要があります。例えば、クライアントがユーザーアカウントに対応し、各ユーザーアカウントがリージョンに属している場合、クライアントはグローバルログインシステムの認証情報で使用する適切なエンドポイント割り当てをリクエストできます。

たとえば、ユーザーがウェブを通じてビジネス財務を管理するのに役立つ金融サービス企業は、リージョンモードへの書き込みでグローバルテーブルを使用します。各ユーザーは中央サービスにログインする必要があります。このサービスは、認証情報と、それらの認証情報が機能するリージョンのエンドポイントを返します。返されるリージョンは、ユーザーのデータセットが現在ホームになっている場所に基づいています。認証情報の有効期間は短期です。その後、ウェブページは新しいログインを自動ネゴシエートします。これにより、ユーザーのアクティビティを新しいリージョンにリダイレクトできる可能性があります。