本指南向游戏开发人员展示了如何自动设置全局游戏服务器。它提供了在 Amazon Elastic Kubernetes Service(Amazon EKS)上配置 Kubernetes 集群以协调 Agones 和 OpenMatch 开源框架的分步说明。本指南利用了基础设施即代码方法,这种方法简化了 Amazon EKS 上的部署流程,并使开发人员能够在 Kubernetes 上本地运行相同的系统。架构图还演示了如何建立多集群配置,以根据全局延迟优化游戏会话位置分配。这不仅可以减少延迟并缩短响应时间,还可以增强整体游戏体验。

请注意:[免责声明]

架构图

[架构图描述]

下载架构图 PDF 

Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

  • 本指南使用 Amazon Elastic Kubernetes Service(Amazon EKS)控制面板,通过 Amazon Elastic Compute Cloud(Amazon EC2)托管的节点组预置集群。这些节点使用启动模板构建。通过 Amazon EKS API 提供一致且可重复的方式来构建集群,减少了人为错误和前置时间。

    此外,对于在 Amazon EKS 集群上运行的容器,您可以将日志和指标导出到 Amazon CloudWatch,以实现对集群的可观测性,从而主动识别问题。

    阅读《卓越运营》白皮书 
  • 当启动 Amazon EKS 集群时,Terraform 脚本会隐式创建 AWS KMS 密钥。该密钥用于加密存储在 Amazon EKS 中的 Kubernetes 密钥(包括用于拉取映像的 Docker 注册表凭证、TLS 密钥以及 Agones 和 Open Match 使用的其他证书)。这实现了信封加密(信封加密被认为是深入安全策略的安全最佳实践)。

    Amazon GuardDuty 是另一项旨在保护账户的服务,可与此架构一起配置。它通过分析 Amazon EKS 集群上的审计日志和运行时活动来揭示安全风险。Amazon EKS 也可用于 GuardDuty 中的运行时监控,可检测游戏服务器和匹配组件中的潜在威胁。

    Global Accelerator 还支持安全基础架构。它使您能够对源端口、协议和客户端关联性进行细粒度控制。这允许流量从互联网上的游戏客户端流向运行在 Amazon EC2 Worker 节点上并由 Amazon EKS 启动的游戏服务器。您可以限制来自不安全源 IP 的访问。

    由于使用了 Global Accelerator,您还可以受益于 AWS Shield Standard 保护,抑制分布式拒绝服务(DDoS)尝试。通过 Shield Standard,只有来自安全客户端 IP 的有效流量才被允许流经加速器并到达游戏容器的端点组。

    阅读《安全性》白皮书 
  • 网络负载均衡器和经典负载均衡器为在 Amazon EKS 集群内运行的部署提供了入口(从集群外部路由流量)。入口流量被路由到 Kubernetes 服务,该服务在 Kubernetes 容器组(pod)上终止流量。网络负载均衡器和经典负载均衡器在每个 Amazon EKS 集群的区域中提供固定的入口端点,互联网流量从 Global Accelerator 路由到这些端点。Amazon EKS 集群上的容器可以滚动升级,同时网络负载均衡器和经典负载均衡器可继续将流量重定向到服务,不会中断。

    网络负载均衡器为主 Amazon EKS 集群上的前端服务提供入口。使用网络负载均衡器,您可以通过为部署运行多个容器组(pod)来扩展前端,并通过负载均衡器将前端服务作为目标公开。如果一个前端容器组(pod)崩溃或不可用,网络负载均衡器会将流量路由到下一个可用容器组(pod)。

    经典负载均衡器为在辅助 Amazon EKS 集群上运行的分配器服务提供入口。使用经典负载均衡器,您可以为部署运行多个容器组(pod)并通过负载均衡器将它们作为目标公开,从而扩展分配器服务。如果一个分配器容器组(pod)崩溃或不可用,经典负载均衡器会将流量路由到下一个可用容器组(pod)。

    阅读《可靠性》白皮书 
  • 由于 Amazon ECRAmazon EKS 直接集成,它简化了部署在 Amazon EKS 集群上的 Agones 和 Open Match 容器的交付。Amazon ECR 无需运营和扩展存储和拉取游戏容器、Agones 和 Open Match 组件的容器映像所需的基础设施。无论 Amazon EKS 集群的容器组(pod)规模如何,Amazon ECR 都会进行扩展,以适应部署。Amazon ECR 能够在 Amazon EKS 集群所在的同一区域拉取和推送映像,从而在延迟和数据传输成本方面提供最佳性能。

    阅读《性能效率》白皮书 
  • 运行游戏服务器的 Amazon EKS Worker 节点可配置为在 Amazon EC2 竞价型实例上运行。运行 Agones 和 Open Match 组件的 Amazon EKS Worker 节点可利用节省计划。运行游戏服务器和 Kubernetes kube 系统的节点也有可能使用基于 AWS Graviton 处理器的实例。

    使用竞价型实例运行游戏服务器时,最多可节省 90% 的游戏服务器托管计算成本。通过节省计划覆盖的 Graviton 实例,您可以优化 Agones 和 Open Match 容器的计算成本,最高可节省 72%。

    阅读《成本优化》白皮书 
  • AWS 碳足迹工具可让您跟踪和测量 Amazon EKS 集群的碳排放量,并改善 Worker 节点的影响,为可持续的工作负载提供支持。

    通过这些服务,您可以管理和跟踪碳排放,以防止浪费,并实现可持续计算。它们在区域层面优化了 Amazon EKS Worker 节点的使用,并提供了在未满足碳排放目标时快速做出反应的机制。

    阅读《可持续性》白皮书 

实施资源

示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。

[主题]
[内容类型]

[标题]

[子标题]
此[博客文章/电子书/指南/示例代码]演示了如何 [插入简短描述]。

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。

此页内容对您是否有帮助?