日志差异:托管舰队 EC2 与容器舰队 - Amazon GameLift Servers

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

日志差异:托管舰队 EC2 与容器舰队

托管 EC2 船队和集装箱船队之间的日志记录行为差异很大。在从容器迁移 EC2 到容器或根据日志要求选择正确的舰队类型时,了解这些差异至关重要。

主要区别概述

功能 托管 EC2 车队 容器实例集
日志存储 游戏会话结束后自动上传到 Amazon S3 必须配置 Amazon CloudWatch 日志或自定义日志解决方案
GetGameSessionLogUrl API 可用:返回用于下载日志的 Amazon S3 URL 不可用:日志不会自动存储在 Amazon S3 中
日志保留 在 Amazon S3 中保留 14 天(自动) 取决于日志记录配置
实时监控 有限:日志仅在游戏会话结束后可用 与 Amazon L CloudWatch ogs 集成一起可用
设置复杂性 自动:无需额外配置 需要明确的日志记录配置

托管 EC2 舰队日志

对于托管 EC2 舰队,Amazon GameLift Servers提供自动日志管理:

  • 自动上传:游戏会话结束后,服务器日志会自动上传到 Amazon S3

  • GetGameSessionLogUrl API:使用此 API 检索用于从 Amazon S3 下载日志的预签名 URL

  • 14 天保留期:日志在 Amazon S3 中保留 14 天,然后自动删除

  • 大小限制:每个游戏会话的日志文件都有大小限制(请参阅 Amazon GameLift Servers 端点和配额

有关更多信息,请参阅记录服务器消息(自定义服务器)GetGameSessionLogUrl API 参考

容器实例集日志记录

容器实例集需要您明确配置日志记录:

  • 不自动上传到 Amazon S3:日志不会自动上传到 Amazon S3

  • GetGameSessionLogUrl 不可用:此 API 不适用于集装箱舰队

  • Amazon CloudWatch Logs 集成:将您的容器配置为将日志发送到 Amazon CloudWatch Logs 以进行集中记录

  • 自定义日志记录解决方案:使用日志驱动程序或附加容器实施自己的日志记录基础架构

  • 实时访问:通过适当的配置,可以在游戏会话期间实时访问日志

有关详细的容器日志记录选项,请参阅容器实例集的工作原理

迁移注意事项

从托管舰队迁移 EC2 到容器舰队时,请考虑以下日志变更:

  • 更新日志检索代码:将 GetGameSessionLogUrl API 调用替换为 Amazon CloudWatch Logs 查询或您的自定义日志记录解决方案

  • 配置日志保留:在 Amazon Lo CloudWatch gs 或您的日志系统中设置适当的保留策略

  • 实现实时监控:利用实时日志访问来提高可观测性

  • 查看日志量和成本:Amazon Lo CloudWatch gs 定价与托管 EC2 队列中包含的 Amazon S3 存储不同

对于容器实例集,我们建议采用以下设置:

  1. Amazon CloudWatch Logs 集成:配置您的容器定义以使用awslogs日志驱动程序

  2. 结构化日志记录:使用结构化日志格式(JSON)提高可搜索性和分析能力

  3. 日志级别:实施适当的日志级别以控制详细程度和成本

  4. 保留策略:根据您的合规性和调试需求设置保留期