アーキテクチャの概要
デフォルトのパラメータを使用して必須テンプレートとオプションのテンプレートでこのソリューションをデプロイすると、AWS クラウドに以下の環境が構築されます。
Virtual Waiting Room on AWS のアーキテクチャ
AWS CloudFormation テンプレートは次のインフラストラクチャをデプロイします。
-
クライアントにパブリック API コールを配信する Amazon CloudFront
ディストリビューション。 -
仮想待合室からのキューリクエストを処理し、キューの位置を追跡して、ターゲットウェブサイトへのアクセスを許可するトークンの検証をサポートする Amazon API Gateway
のパブリック API リソース。 -
キューメッセージを処理する AWS Lambda
関数へのトラフィックを調整する Amazon Simple Queue Service (Amazon SQS) キュー。この SQS キューは、リクエストごとに Lambda 関数を呼び出す代わりに、受信したリクエストのバーストをバッチ処理します。 -
管理機能をサポートする API Gateway のプライベート API リソース。
-
パブリック API リクエストとプライベート API リクエストを検証および処理し、適切なレスポンスを返す Lambda 関数。
-
Elasticache (Redis OSS)
クラスターと直接やり取りする Lambda 関数をホストする Amazon Virtual Private Cloud (VPC)。VPC エンドポイントにより、VPC 内の Lambda 関数はソリューション内のサービスと通信できます。さらに、NAT ゲートウェイにより、VPC の Lambda 関数は CloudFront エンドポイントに接続し、必要に応じてキャッシュを無効にできます。 -
カスタムの Amazon EventBridge
バスと連携して、ステータスアップデートを定期的にブロードキャストする Lambda 関数を呼び出す Amazon CloudWatch ルール。 -
トークン、キューの位置、サービングカウンターのデータを保存する Amazon DynamoDB
テーブル。 -
トークンオペレーション用のキーやその他の機密データを保存する AWS Secrets Manager
。 -
(オプション) API Gateway で使用する AWS Identity and Access Management
(IAM) ロールと Lambda オーソライザー関数で構成されるオーソライザーコンポーネント。 -
(オプション) 2 つのインレットストラテジーをサポートする Amazon Simple Notification Service
(Amazon SNS)、CloudWatch、Lambda 関数。 -
(オプション) OpenID プロバイダーがウェブサイトに対してユーザーを認証できるようにする API Gateway と Lambda 関数を備えた OpenID アダプターコンポーネント。このコンポーネントの待合室ページ用の Amazon Simple Storage Service
(Amazon S3) バケットを含む CloudFront ディストリビューション。 -
(オプション) サンプル待合室ウェブアプリケーション用の Amazon S3 オリジンバケットを含む CloudFront ディストリビューション。