单页应用程序 - 使用 Amazon API Gateway 和 AWS Lambda 的 AWS 无服务器多层架构

单页应用程序

AWS architecture diagram showing interactions between services like CloudFront, S3, Lambda, and DynamoDB.

无服务器单页应用程序的架构模式

表 2 – 单页应用程序组件

组件
表示

Amazon S3 中托管的静态网站内容,由 CloudFront 分发。

AWS Certificate Manager 允许使用自定义 SSL/TLS 证书。

逻辑

API Gateway 和 AWS Lambda。

此架构显示了三项公开服务(/tickets/shows/info)。API Gateway 端点由 Lambda 授权方提供安全保护。在此方法中,用户通过第三方身份提供商登录,并获取访问权限和 ID 令牌。这些令牌包含在 API Gateway 调用中,Lambda 授权方会验证这些令牌,并生成包含 API 启动权限的 IAM 策略。

每个 Lambda 函数都分配了自己的 IAM 角色,以提供对相应数据源的访问权限。

数据

Amazon DynamoDB 用于 /tickets/shows 服务。

/shows 服务使用 Amazon ElastiCache 来提高数据库性能。缓存未命中将发送到 DynamoDB。

Amazon S3 用于托管由 /info service 使用的静态内容。