概览
本指南演示了如何部署定制的轻量级跨平台游戏身份系统,此外还介绍了游戏后端功能,如使用 Amazon GameLift 托管游戏服务器、通过 WebSocket 实现聊天功能,以及借助 Amazon Neptune 实现好友列表和推荐功能。该身份系统支持多种身份验证选项,包括访客、Amazon Cognito、Steam、Apple 登录、Google Play 和 Facebook。您还可以轻松定制本指南,以支持任何其他平台,如游戏机平台。本指南旨在便于通过自定义后端功能进行扩展,并包含无服务器和容器化后端组件的模板。
此外,本指南还为虚幻引擎 5、 Unity 2021(及更新版本)和 Godot 4 游戏引擎提供了软件开发套件 (SDK) 和示例代码。这些 SDK 与身份组件以及示例后端功能集成。
工作原理
此架构图说明了如何部署自定义、轻量级和可扩展的跨平台游戏身份组件,以及如何使用这些身份在 AWS 上对自定义游戏后端组件进行身份验证
自信地进行部署
为部署做好准备了吗? 查看 GitHub 上的示例代码,了解详细的部署说明,以根据需要按原样部署或进行自定义部署。
Well-Architected 支柱
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
本指南中的自定义身份组件使用 AWS X-Ray 来跟踪用户请求,并利用 Lambda Powertoo ls 从后端逻辑中提供详细信息。此外,本指南的所有组件都使用亚马逊云观察来跟踪虚拟私有云 (VPC) 流量、 API 网关访问、亚马逊 S3 访问、 Lambda 完成和 AWS F argate 任务的日志。最后,AWS CDK 允许跨环境进行受控更改和一致的配置,从而帮助您满足安全性和合规性需求。
本指南中的自定义身份组件可管理玩家身份和身份验证,为可靠的身份管理提供支持。本指南的所有其他功能都会根据身份组件提供的公钥,对 JSON Web 令牌进行验证,来确保访问安全。自定义身份组件受 AWS WAF 保护,这是一款 Web 应用程序防火墙,可保护应用程序免受常见的 Web 漏洞攻击。此外,所有静态数据和传输中的数据都经过加密。
本指南主要利用完全托管的服务。默认情况下,这些服务在 AWS 区域内的多个可用区(AZ)中具有高度可用性。对于 Fargate,使用多可用区配置来实现高可用性,并且 DynamoDB 中的所有数据库表都受到时间点恢复的保护。
本指南结合多种不同的方法,使用各种功能来提高性能。首先,为本指南选择的服务旨在利用无服务器服务的自动扩展组件,在游戏发布和其他流量高峰时段提供大规模运行所需的性能。接下来,自定义身份组件提供的 X-Ray 数据允许开发人员发现拥塞情况,并根据自己的需求对指南进行校准,以优化性能。最后,验证 JSON Web 令牌的公钥通过 CloudFront 提供,以优化后端组件的延迟。
本指南尽可能利用无服务器组件,让您只需为真正使用的那部分资源付费。为了进一步降低成本,可以考虑使用 AWS储蓄计划,该计划可用于优化 Lambda 和 Farg ate的成本。 此外,从按需 DynamoDB 表迁移到自动扩展预置容量允许您在已知基准流量时使用 DynamoDB 预留容量来降低成本。
本指南中使用的所有服务均配置为根据需求进行扩展,包括 API网关、 Lambda、Dynam oDB 、A mazon S3 、 Fargate 、密钥管理器和 AWS WAF,从而确保仅需要最低限度的资源。
本指南中的无服务器服务组件可自动扩展,使组件在扩展的同时,可通过最少的资源持续满足负载要求。这样可以避免预置不会使用的容量,从而减少基础设施对环境的影响。
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
找到今天要查找的内容了吗?
请提供您的意见,以便我们改进网页内容的质量。