翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CloudFront を使用したマルチリージョン GraphQL API
公開日: 2022 年 4 月 25 日 (図の履歴)
このアーキテクチャは、アプリケーションの可用性を高めながら、エンドユーザーのレイテンシーを減らす方法を示しています。Amazon DynamoDB グローバルテーブルでサポートされているアクティブ/アクティブリアルタイムデータ同期を使用して、複数の AWS リージョンの GraphQL API エンドポイントを提供できます。
CloudFront を使用したマルチリージョン GraphQL API
次の手順では、アーキテクチャについて説明します。
-
Amazon AppSync を使用して 2 つ以上の AWS リージョンに GraphQL API をデプロイし、DynamoDB データベースに接続されたAWS Lambdaリゾルバーを使用して AppSync コマンドとクエリを処理します。
-
すべてのリージョンのデータ変更をクライアントに通知するには、DynamoDB グローバルテーブルを有効にして、リージョン間でデータを同期させます。Lambda ハンドラーを使用して DynamoDB データストリームを処理し、専用に構築されたGraphQLスキーマサブスクリプションをトリガーします。
-
カスタムドメインをサポートするには、ドメインの SSL 証明書を AWS Certificate Manager (ACM) にアップロードし、Amazon CloudFront ディストリビューションにアタッチします。
-
Amazon Route 53 を DNS 名解決サービスとして使用して、ドメイン名を CloudFront にポイントします。
-
レイテンシーが最も低いリージョンにグローバルクライアントをルーティングするように Route 53 でルーティングルールを設定します。
-
任意のリージョンの AppSync エンドポイントに対してクライアントをシームレスに認証するには、Lambda@Edge を使用して、リクエストを転送する最適なリージョンについて Route 53 をクエリし、各リージョン AppSync の特異性を抽象化して認可を正規化します。
-
世界中のクライアントは、エッジロケーションで利用可能な単一のエンドポイントで GraphQL API に接続できます。
-
CloudFront は、レイテンシーが最も低いリージョンの API にクライアントリクエストをシームレスにルーティングします。
詳細情報
詳細については、次のリソースを参照してください。
図の履歴
このリファレンスアーキテクチャ図の更新について通知を受け取るには、RSS フィードをサブスクライブします。
| 変更 | 説明 | 日付 |
|---|---|---|
初版発行 | リファレンスアーキテクチャ図が最初に公開されました。 | 2022 年 4 月 25 日 |
注記
RSS 更新をサブスクライブするには、使用しているブラウザで RSS プラグインが有効になっている必要があります。