翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
グローバルアプリケーションのサーバーレスアーキテクチャ
公開日: 2020 年 10 月 15 日 (図の履歴)
このアーキテクチャは、複数の AWS リージョンにデプロイすることで、グローバルサービスのカスタマーエクスペリエンスを向上させる方法を示しています。イベントソーシング、Saga オーケストレーション、CQRS などのイベント駆動型のアーキテクチャパターンを適用して、レイテンシーを短縮し、パフォーマンスを向上させることができます。
グローバルアプリケーションのサーバーレスアーキテクチャ
次の手順では、アーキテクチャについて説明します。
-
Amazon CloudFront を使用してリクエストパスに基づいてエッジロケーションからトラフィックをルーティングし、単一 CNAME レガシー API オペレーションの段階的な移行を可能にします。次に、Route 53 を使用してレイテンシーが最も低いリージョンにリクエストをルーティングします。
-
CQRS パターンを実装する Amazon API Gateway を使用して、各リージョンにエントリ API をフロントします。クエリリクエストの場合は、データレイヤーから読み取ります。同期書き込みコマンドの場合は、ロジックレイヤーを呼び出します。
-
Amazon EventBridge を使用してイベントバスに追加することで、非同期コマンドを処理します。外部システムから追加のイベントをソースにします。
-
AWS Lambda 関数を使用してトランザクションロジックを処理し、AWS Fargate のコンテナを使用して長時間実行されるタスクを実行します。Saga パターンを使用して、分散トランザクションを とオーケストレーションAWS Step Functionsし、結果整合性を確保します。
-
キーバリューストアには Amazon DynamoDB、リレーショナルクエリには Amazon Aurora、データレイク分析と AI/ML には Amazon Simple Storage Service を使用して、アクセスパターンのデータを保存します。
-
ロジックレイヤーからロジックイベントをレイズして、変換パターンに従ってイベント駆動型のワークフローステップを実行します。
-
データレイヤー上の正規データモデルを変更した後にデータイベントを発生させ、ロジックレイヤーの冗長性を減らします。
-
DynamoDB グローバルテーブル、Amazon S3 クロスリージョンレプリケーション、Amazon Aurora グローバルデータベースを使用して、アクティブ/アクティブデータレプリケーションを使用してリージョン間で変更を伝達します。
-
他のリージョンでの読み取りが多いシナリオでは、書き込みリクエストをプライマリリージョンに送信します。グローバル書き込みを高速化するには、イベントロジックとコマンドロジックをすべてのリージョンにレプリケートします。
詳細情報
詳細については、次のリソースを参照してください。
図の履歴
このリファレンスアーキテクチャ図の更新について通知を受け取るには、RSS フィードにサブスクライブします。
| 変更 | 説明 | 日付 |
|---|---|---|
初版発行 | リファレンスアーキテクチャ図が最初に公開されました。 | 2020 年 10 月 15 日 |
注記
RSS 更新をサブスクライブするには、使用しているブラウザで RSS プラグインが有効になっている必要があります。