

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 借助 Amazon GameLift Servers 管理生产环境中的游戏托管
<a name="gamelift-prod-hosting"></a>

借助 Amazon GameLift Servers 启动您的游戏后，您需要对游戏托管基础设施进行管理，以确保服务具备最优性能、高可靠性及良好的玩家体验。本主题将介绍生产环境中用于管理游戏托管生命周期的关键功能和工具。

## 监控主机运行状况和性能
<a name="gamelift-prod-hosting-monitoring"></a>

Amazon GameLift Servers 提供全面的监控工具，帮助您跟踪游戏托管基础设施的运行状况和性能，具体包括：
+ **性能指标**：监控托管式实例集的关键性能指标，例如实例利用率、玩家会话数和游戏会话放置。在 Amazon 中Amazon GameLift Servers或亚马逊中跟踪这些指标 CloudWatch，您还可以在其中设置警报，以便在指标超过阈值时收到通知。
+ **实例集指标和事件**：跟踪实例集特定的指标，包括活跃服务器进程数、可用游戏会话数、活跃玩家会话数，以确保实例集具备最优容量。
+ **游戏会话放置指标和事件**：跟踪相关指标和事件，以监控游戏会话放置系统的运行状况和性能。
+ **游戏会话日志**：访问并分析游戏会话日志，以识别问题并了解玩家的行为模式。
+ **Realtime 脚本日志**：对于使用实时服务器的游戏，可通过详细日志监控脚本执行情况和性能。
+ AWS He@@ **alth Das** hboard-随时了解可能影响Amazon GameLift Servers部署的 AWS 服务运行状况。

您可以通过Amazon GameLift Servers控制台、 AWS CLI 访问这些监控工具，也可以使用的 AWS SDK Amazon GameLift Servers 来创建自定义仪表板和监控解决方案。

## 管理游戏服务器更新和补丁
<a name="gamelift-prod-hosting-updates"></a>

保持游戏服务器更新对于保障安全性、优化性能及新增功能至关重要。Amazon GameLift Servers 提供多种更新管理方案，具体如下：
+ **生成包管理**：上传并管理游戏服务器生成包的多个版本。每个生成包均受版本控制，可部署到不同的实例集。
+ **实例集替换**：使用 AMI 版本和游戏服务器生成包更新创建新实例集，并使用游戏会话放置队列和别名逐步将流量从旧实例集迁移到新实例集。
+ **脚本更新**：对于实时服务器，通过上传新的脚本版本来更新服务器脚本，而无需替换整个实例集。
+ **容器更新**：对于基于容器的部署，请更新容器映像和定义。将新版本的游戏服务器部署到现有实例集中。替换实例集以更新 AMI 版本。
+ **自动部署**-使用 AWS CodePipeline 和创建 AWS CodeDeploy 用于自动更新游戏服务器的 CI/CD 管道。

在计划更新时，请考虑使用 blue/green 部署策略来最大限度地减少对活跃玩家的干扰，并在检测到问题时允许快速回滚。

## 优化性能和扩展
<a name="gamelift-prod-hosting-optimization"></a>

随着玩家群体的发展，您需要调整托管配置，以维持服务的最优性能和成本效益，具体优化方向如下：
+ **自动扩缩**：根据玩家人数或游戏会话利用率等指标配置实例集扩展策略，以自动调整容量。
+ **区域部署调整**：根据玩家地域分布和延迟需求，在多区域部署架构中新增或移除相应区域。
+ **队列管理**：优化游戏会话放置队列配置，在保障玩家体验与控制托管成本之间找到最佳平衡。
+ **实例类型选择**：分析性能指标，确定最具成本效益的实例类型，以满足您的游戏服务器需求。
+ **竞价型实例使用情况**：利用竞价型实例处理非关键工作负载以降低成本，同时制定适当的回退策略以切换至按需型实例。
+ **FlexMatch 调优**：根据实际的玩家数据和反馈完善对战规则和算法。

定期查看 CloudWatch 指标和成本报告，以确定优化机会并通过Amazon GameLift Servers控制台或 API 实施更改。

## 故障排除和实时操作
<a name="gamelift-prod-hosting-troubleshooting"></a>

高效的故障排除和实时操作管理是保障良好玩家体验的关键，具体措施如下：
+ **实例集事件通知**：针对实例集事件（例如扩展活动、实例终止或游戏会话放置失败）设置 Amazon Simple Notification Service 通知。
+ **游戏会话放置调试**：使用详细的放置日志来识别和解决游戏会话放置的问题。
+ **服务器进程运行状况检查**：监控服务器进程运行状况并自动替换未通过运行状况检查的进程。
+ **远程访问**：使用 AWS Systems Manager Session Manager连接到实例集实例，直接进行故障排除。
+ **别名管理**：使用别名快速将玩家流量从存在问题的实例集重定向至正常的实例集，无需更改客户端配置。
+ **备份和恢复**：定期备份关键游戏数据和配置，以便从故障中快速恢复。

针对常见问题制定明确的事件响应程序和运行手册，以最大限度地减少停机时间，降低对玩家的影响。

## 工具和集成
<a name="gamelift-prod-hosting-tools"></a>

Amazon GameLift Servers与各种 AWS 服务和第三方工具集成，以增强您的生产管理能力：
+ **AWS CloudFormation**-将您的 GameLift 资源定义为基础架构即代码，以实现一致的部署。
+ **AWS Lambda**：创建无服务器函数，以自动执行日常管理任务并对事件做出响应。
+ **Amazon EventBridge**-构建可自动响应环境变化的事件驱动架构。Amazon GameLift Servers
+ **AWS SDK 集成**- AWS SDKs 用于构建根据您的特定需求量身定制的自定义管理工具和仪表板。
+ **第三方监控**-使用 CloudWatch 指标导出功能与第三方监控和分析平台集成。

利用这些集成来创建符合团队工作流程和要求的全面管理解决方案。

## 相关资源
<a name="gamelift-prod-hosting-resources"></a>
+ [ GameLift 使用亚马逊监控亚马逊 CloudWatch](https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html)
+ [更新您的 Amazon GameLift 车队](https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-updating.html)
+ [借助 Amazon 扩展游戏托管容量 GameLift](https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-autoscaling.html)
+ [亚马逊 GameLift 服务器 SDK 参考](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html)