跳至主要内容

AWS 解决方案库

在 AWS 上托管自定义游戏后端的指南

概览

本指南演示了如何部署定制的轻量级跨平台游戏身份系统,此外还介绍了游戏后端功能,如使用 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 费用。

找到今天要查找的内容了吗?

请提供您的意见,以便我们改进网页内容的质量。