View a markdown version of this page

CloudFront を使用したマルチリージョン GraphQL API - CloudFront を使用したマルチリージョン GraphQL API

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

CloudFront を使用したマルチリージョン GraphQL API

公開日: 2022 年 4 月 25 日 (図の履歴)

このアーキテクチャは、アプリケーションの可用性を高めながら、エンドユーザーのレイテンシーを減らす方法を示しています。Amazon DynamoDB グローバルテーブルでサポートされているアクティブ/アクティブリアルタイムデータ同期を使用して、複数の AWS リージョンの GraphQL API エンドポイントを提供できます。

CloudFront を使用したマルチリージョン GraphQL API

CloudFront、Amazon AppSync、DynamoDB グローバルテーブル、Lambda を使用したマルチリージョン GraphQL API を示すアーキテクチャ図。

次の手順では、アーキテクチャについて説明します。

  1. Amazon AppSync を使用して 2 つ以上の AWS リージョンに GraphQL API をデプロイし、DynamoDB データベースに接続されたAWS Lambdaリゾルバーを使用して AppSync コマンドとクエリを処理します。

  2. すべてのリージョンのデータ変更をクライアントに通知するには、DynamoDB グローバルテーブルを有効にして、リージョン間でデータを同期させます。Lambda ハンドラーを使用して DynamoDB データストリームを処理し、専用に構築されたGraphQLスキーマサブスクリプションをトリガーします。

  3. カスタムドメインをサポートするには、ドメインの SSL 証明書を AWS Certificate Manager (ACM) にアップロードし、Amazon CloudFront ディストリビューションにアタッチします。

  4. Amazon Route 53 を DNS 名解決サービスとして使用して、ドメイン名を CloudFront にポイントします。

  5. レイテンシーが最も低いリージョンにグローバルクライアントをルーティングするように Route 53 でルーティングルールを設定します。

  6. 任意のリージョンの AppSync エンドポイントに対してクライアントをシームレスに認証するには、Lambda@Edge を使用して、リクエストを転送する最適なリージョンについて Route 53 をクエリし、各リージョン AppSync の特異性を抽象化して認可を正規化します。

  7. 世界中のクライアントは、エッジロケーションで利用可能な単一のエンドポイントで GraphQL API に接続できます。

  8. CloudFront は、レイテンシーが最も低いリージョンの API にクライアントリクエストをシームレスにルーティングします。

詳細情報

詳細については、次のリソースを参照してください。

図の履歴

このリファレンスアーキテクチャ図の更新について通知を受け取るには、RSS フィードをサブスクライブします。

変更説明日付

初版発行

リファレンスアーキテクチャ図が最初に公開されました。

2022 年 4 月 25 日

注記

RSS 更新をサブスクライブするには、使用しているブラウザで RSS プラグインが有効になっている必要があります。