View a markdown version of this page

アーキテクチャの概要 - Virtual Waiting Room on AWS

アーキテクチャの概要

デフォルトのパラメータを使用して必須テンプレートとオプションのテンプレートでこのソリューションをデプロイすると、AWS クラウドに以下の環境が構築されます。

AWS Virtual Waiting Room のアーキテクチャ図

Virtual Waiting Room on AWS のアーキテクチャ

AWS CloudFormation テンプレートは次のインフラストラクチャをデプロイします。

  1. クライアントにパブリック API コールを配信する Amazon CloudFront ディストリビューション。

  2. 仮想待合室からのキューリクエストを処理し、キューの位置を追跡して、ターゲットウェブサイトへのアクセスを許可するトークンの検証をサポートする Amazon API Gateway のパブリック API リソース。

  3. キューメッセージを処理する AWS Lambda 関数へのトラフィックを調整する Amazon Simple Queue Service (Amazon SQS) キュー。この SQS キューは、リクエストごとに Lambda 関数を呼び出す代わりに、受信したリクエストのバーストをバッチ処理します。

  4. 管理機能をサポートする API Gateway のプライベート API リソース。

  5. パブリック API リクエストとプライベート API リクエストを検証および処理し、適切なレスポンスを返す Lambda 関数。

  6. Elasticache (Redis OSS) クラスターと直接やり取りする Lambda 関数をホストする Amazon Virtual Private Cloud (VPC)。VPC エンドポイントにより、VPC 内の Lambda 関数はソリューション内のサービスと通信できます。さらに、NAT ゲートウェイにより、VPC の Lambda 関数は CloudFront エンドポイントに接続し、必要に応じてキャッシュを無効にできます。

  7. カスタムの Amazon EventBridge バスと連携して、ステータスアップデートを定期的にブロードキャストする Lambda 関数を呼び出す Amazon CloudWatch ルール。

  8. トークン、キューの位置、サービングカウンターのデータを保存する Amazon DynamoDB テーブル。

  9. トークンオペレーション用のキーやその他の機密データを保存する AWS Secrets Manager

  10. (オプション) API Gateway で使用する AWS Identity and Access Management (IAM) ロールと Lambda オーソライザー関数で構成されるオーソライザーコンポーネント。

  11. (オプション) 2 つのインレットストラテジーをサポートする Amazon Simple Notification Service (Amazon SNS)、CloudWatch、Lambda 関数。

  12. (オプション) OpenID プロバイダーがウェブサイトに対してユーザーを認証できるようにする API Gateway と Lambda 関数を備えた OpenID アダプターコンポーネント。このコンポーネントの待合室ページ用の Amazon Simple Storage Service (Amazon S3) バケットを含む CloudFront ディストリビューション。

  13. (オプション) サンプル待合室ウェブアプリケーション用の Amazon S3 オリジンバケットを含む CloudFront ディストリビューション。