概览
工作原理
该架构图显示了如何使用Agones和Open Match来构建全球配对和游戏服务器结构。
Well-Architected 支柱
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
本指南使用亚马逊弹性Kubernetes服务(亚马逊 EKS)控制平面为集群配置亚马逊弹性计算云(亚马逊 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 的访问。
由于使用了全球加速器,您还可以受益于 AWS Shield 标准保护,以减少分布式拒绝服务 (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 ECR 与 Amazon EKS 直接集成,它简化了部署在 Amazon EKS 集群上的 Agones 和 Open Match 容器的交付。Amazon ECR 无需运营和扩展存储和拉取游戏容器、Agones 和 Open Match 组件的容器映像所需的基础设施。无论 Amazon EKS 集群的容器组(pod)规模如何,Amazon ECR 都会进行扩展,以适应部署。Amazon ECR 能够在 Amazon EKS 集群所在的同一区域拉取和推送映像,从而在延迟和数据传输成本方面提供最佳性能。
运行游戏服务器的亚马逊 EKS 工作节点可以配置为在亚马逊 EC2 竞价型实例上运行。运行 Agones 和 Open Match 组件的 A@@ mazon EKS 工作节点可以利用储蓄计划。运行游戏服务器和 Kubernetes kube-system 的节点也有可能使用基于 AWS Graviton 处理器的实例。
使用竞价型实例运行游戏服务器时,最多可节省 90% 的游戏服务器托管计算成本。通过节省计划覆盖的 Graviton 实例,您可以优化 Agones 和 Open Match 容器的计算成本,最高可节省 72%。
AWS 碳足迹工具允许您跟踪和测量 A mazon EKS 集群的碳排放,改善工作节点的影响,以支持可持续的工作负载。
通过这些服务,您可以管理和跟踪碳排放,以防止浪费,并实现可持续计算。它们在区域层面优化了 Amazon EKS Worker 节点的使用,并提供了在未满足碳排放目标时快速做出反应的机制。
自信地进行部署
为部署做好准备了吗? 查看 GitHub 上的示例代码,了解详细的部署说明,以根据需要按原样部署或进行自定义部署。
免责声明
找到今天要查找的内容了吗?
请提供您的意见,以便我们改进网页内容的质量。