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

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

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

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

主要区别概述

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

托管 EC2 舰队日志

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

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

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

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

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

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

集装箱船队记录

容器队列要求您明确配置日志记录:

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

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

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

  • 自定义日志解决方案:使用日志驱动程序或 sidecar 容器实现自己的日志基础架构

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

有关详细的容器日志记录选项,请参阅集装箱队列的工作原理

迁移注意事项

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

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

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

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

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

对于集装箱船队,我们建议:

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

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

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

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