View a markdown version of this page

グローバルアプリケーションのサーバーレスアーキテクチャ - グローバルアプリケーションのサーバーレスアーキテクチャ

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

グローバルアプリケーションのサーバーレスアーキテクチャ

公開日: 2020 年 10 月 15 日 (図の履歴)

このアーキテクチャは、複数の AWS リージョンにデプロイすることで、グローバルサービスのカスタマーエクスペリエンスを向上させる方法を示しています。イベントソーシング、Saga オーケストレーション、CQRS などのイベント駆動型のアーキテクチャパターンを適用して、レイテンシーを短縮し、パフォーマンスを向上させることができます。

グローバルアプリケーションのサーバーレスアーキテクチャ

Amazon API Gateway、Amazon DynamoDB AWS Lambda、 AWS Step Functions Amazon EventBridge を複数のリージョンで使用するサーバーレスグローバルアプリケーションを示すアーキテクチャ図。

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

  1. Amazon CloudFront を使用してリクエストパスに基づいてエッジロケーションからトラフィックをルーティングし、単一 CNAME レガシー API オペレーションの段階的な移行を可能にします。次に、Route 53 を使用してレイテンシーが最も低いリージョンにリクエストをルーティングします。

  2. CQRS パターンを実装する Amazon API Gateway を使用して、各リージョンにエントリ API をフロントします。クエリリクエストの場合は、データレイヤーから読み取ります。同期書き込みコマンドの場合は、ロジックレイヤーを呼び出します。

  3. Amazon EventBridge を使用してイベントバスに追加することで、非同期コマンドを処理します。外部システムから追加のイベントをソースにします。

  4. AWS Lambda 関数を使用してトランザクションロジックを処理し、AWS Fargate のコンテナを使用して長時間実行されるタスクを実行します。Saga パターンを使用して、分散トランザクションを とオーケストレーションAWS Step Functionsし、結果整合性を確保します。

  5. キーバリューストアには Amazon DynamoDB、リレーショナルクエリには Amazon Aurora、データレイク分析と AI/ML には Amazon Simple Storage Service を使用して、アクセスパターンのデータを保存します。

  6. ロジックレイヤーからロジックイベントをレイズして、変換パターンに従ってイベント駆動型のワークフローステップを実行します。

  7. データレイヤー上の正規データモデルを変更した後にデータイベントを発生させ、ロジックレイヤーの冗長性を減らします。

  8. DynamoDB グローバルテーブル、Amazon S3 クロスリージョンレプリケーション、Amazon Aurora グローバルデータベースを使用して、アクティブ/アクティブデータレプリケーションを使用してリージョン間で変更を伝達します。

  9. 他のリージョンでの読み取りが多いシナリオでは、書き込みリクエストをプライマリリージョンに送信します。グローバル書き込みを高速化するには、イベントロジックとコマンドロジックをすべてのリージョンにレプリケートします。

詳細情報

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

図の履歴

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

変更説明日付

初版発行

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

2020 年 10 月 15 日

注記

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