View a markdown version of this page

最新のサーバーレスモバイル/ウェブアプリケーションアーキテクチャ - 最新のサーバーレスモバイル/ウェブアプリケーションアーキテクチャ

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

最新のサーバーレスモバイル/ウェブアプリケーションアーキテクチャ

公開日: 2021 年 5 月 10 日 (図の履歴)

このアーキテクチャは、 で最新のサーバーレスモバイルアプリケーションとウェブアプリケーションを構築する方法を示しています AWS。フロントエンドには AWS AppSync、バックエンド処理には AWS Fargate コンテナ上の Amazon ECS を使用し、アプリケーションログと構造化データからインサイトを引き出すには継続的な統合と配信 (CI/CD) と分析を使用します。

最新のサーバーレスモバイル/ウェブアプリケーションアーキテクチャ

AWS AppSync、Amazon Cognito、Amazon DynamoDB AWS Lambda、Amazon Elastic Container Service with AWS Fargate を使用した最新のサーバーレスモバイルアプリケーションとウェブアプリケーションを示すアーキテクチャ図。

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

  1. ユーザーは、JWT トークンを取得して Amazon Cognito ユーザープールで認証し、それらのトークンを使用して、アプリが他の AWS サービスにアクセスできるようにする AWS 認証情報を取得します。

  2. モバイルクライアントとウェブクライアントはAWS Amplifyフレームワークとやり取りし、iOS、Android、ウェブ、React Native フロントエンドのバックエンドサービスと通信できるようにします。

  3. 認証されたクライアントは AWS AppSync を呼び出して、クエリ、ミューテーション、サブスクリプションなどの GraphQL オペレーションを実行します。

  4. Lambda リゾルバーは、引き受けた IAM ロールに基づく一時的な IAM 認証情報AWS Lambdaを使用して と通信します。認証されたユーザーに固有の JWT トークンは、処理のために Lambda に転送されます。

  5. Amazon DynamoDB リゾルバーは、リアルタイムデータの読み取り、書き込み、サブスクライブを行うデータソースを作成して、既存のテーブルを GraphQL スキーマに接続します。

  6. Lambda は、新しいデータがデータベーステーブルに到着するたびに DynamoDB から Amazon Elasticsearch Service ドメインにデータを送信し、インデックス作成のために Lambda へのイベント通知をトリガーします。 DynamoDB

  7. HTTP リゾルバーとエンドポイントは、一時的な IAM 認証情報で保護されます。JWT トークンは Amazon API Gateway に転送されます。

  8. API Gateway は AWS PrivateLink を使用して、アクセスを制御するセキュリティグループを持つ別の VPC で設定された AWS Fargate 上の API Gateway と Amazon Elastic Container Service 間の接続をカプセル化します。

  9. Network Load Balancer (NLB) は、AWS Fargate クラスター上の Amazon ECS へのプライベート統合を通じて各サービスに割り当てられた特定のポートで設定され、複数のアベイラビリティーゾーンで実行されます。

  10. Amazon ECS on AWS Fargate は、インターフェイス VPC エンドポイントを介して Amazon Elastic Container Registry (Amazon ECR) に接続し、プライベート IP アドレスを介して ECR APIs にプライベートアクセスします。

  11. Amazon ECS on AWS Fargate コンテナでホストされているアプリケーションワークロードは、インメモリキャッシュレイヤーの DynamoDB Accelerator (DAX) にアクセスして、頻繁にアクセスされる情報を取得します。

  12. DynamoDB は、ACID トランザクションのサポートなど、ミッションクリティカルなワークロード向けにサーバーレスパフォーマンスを大規模に提供します。

  13. AWS CodeCommit は、開発者が変更を変更またはコミットするたびにアプリケーションコードを保存するためのリポジトリとして機能します。

  14. AWS CodeBuild は、ソースコードをコンパイルし、テストを実行し、動的に作成されたビルドサーバーにデプロイできるソフトウェアパッケージを生成します。

  15. AWS CodeDeploy は、開発者の変更に基づいて新機能に関連付けられたコードを使用して、AWS Fargate へのソフトウェアデプロイを自動化します。

  16. AWS CodePipeline は、アプリケーションコードを取得し、CodeBuild を使用してビルドおよびテストし、Amazon ECR から Fargate にデプロイするend-to-endのパイプラインを作成します。

  17. ビルドプロセスの最新の Docker イメージは Amazon ECR に保存され、高可用性のために複数のアベイラビリティーゾーンにまたがって Fargate にデプロイするためにプルされます。

  18. Amazon Redshift は、DynamoDB を高度なビジネスインテリジェンス機能で補完します。DynamoDB テーブルデータは、結合を含む複雑なデータ分析クエリのために Amazon Redshift にコピーされます。

  19. AWS Fargate 上の Amazon ECS からの非構造化データは、Amazon Simple Storage Service のデータレイクにほぼリアルタイムで Amazon Amazon Kinesis Data Firehose に送信されます。

  20. Amazon Quick Sight は、Amazon Athena をデータソースとして使用して、インタラクティブなビジネスインテリジェンスダッシュボードを作成および公開します。

  21. AWS Glue ETL は、AWS Glue データカタログを使用して Amazon Simple Storage Service に保存されているデータに接続し、テーブル名や列名などのメタデータを保存します。

  22. Amazon Athena は、Presto を使用して AWS Glue データカタログに登録されたデータを分析して DML ステートメントを処理するインタラクティブなクエリサービスです。

  23. ユーザー管理は、クイックスタンダードエディションとエンタープライズエディションで異なります。どちらのエディションも SAML 2.0 を介した ID フェデレーションをサポートしています。

  24. Amazon Kinesis Data Firehose はサーバーレスで、送信および処理するデータ量に対してpay-as-you-goで管理する必要はありません。

  25. Amazon Pinpoint は、キャンペーン対象者をセグメント化して適切な顧客に到達させ、プッシュ、SMS、E メール、音声に適したコンテンツでメッセージをパーソナライズします。

詳細情報

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

図の履歴

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

変更説明日付

初版発行

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

2021 年 5 月 10 日

注記

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