AWS CloudFormation 一键部署管理私服游戏

发布时间:2024 年 2 月 8 日

AWS Cloudformation
私服游戏部署
亚马逊云科技使用经验
初级
预计部署时间
5 分钟
受众

全栈开发人员、前端开发人员、业务开发人员、开发运维工程师

参考玩家数量与配置

2 核 8GB:建议 2-4 位玩家
4 核 16GB:建议 4-8 位玩家
8 核 32GB:建议最多 20 位玩家

所需费用

如果您按照教程中的步骤操作并在教程结束时终止相应资源,以 AWS us-east-1 区域为例,选择 t3.large(2 核 8GB) 运行 8 小时所需费用将不超过 3USD。不同实例类型运行不同时长所需费用不同,具体费用请参考 Amazon EC2 按需定价。玩家数量与服务器资源配置根据不同的游戏类型设置,以上配置仅限参考。

前提条件

注册 / 登录 亚马逊云科技账户

上次更新时间
2024 年 2 月 8 日
相关行业

游戏

前言

本教程将通过 AWS CloudFormation 基础设施即代码的服务,一键启动所需资源,支持游戏平台快速完成游戏私服的自动化启动,备份以及恢复。本方案通过 AWS Lambda 以及 Amazon API Gateway 等无服务器资源,为游戏平台开发者提供经济且高效的方式将私服游戏快速上线平台。

若您跟随本手册完成,您将会得到:

  • 包含预置游戏环境的私服,该服务器在创建时会自动选择最新的,适配所需环境的 Ubuntu AMI,可以给用户提供更优的性能,以及更高的安全体验。
  • 部署时您可以自主选择是否启用备份功能,备份功能将通过 AWS Systems Manager Document 以 30 分钟为周期,自动将游戏数据备份到 Amazon S3 中。通过 AWS Systems Manager Document,所有的命令可以集中在云端进行维护,任何更改都会立即生效于每个实例。并且 AWS Systems Manager Document 可以远程执行命令,无需本地登录到实例上。您也可以通过 AWS CloudTrail 对运行的命令进行审计。
  • 存档恢复功能将通过 Amazon API Gateway 以及 AWS Lambda 的方式,提供给游戏平台开发者相应的 REST API,即可快捷的对接到前端实现存档恢复功能,给终端玩家提供稳定的游戏体验。

教程说明

本方案目前在海外区域可用


第一步:打开 AWS Cloudformation

登陆账号,在右上角选择部署的区域,搜索打开 AWS Cloudformation


第二步:下载模板

在 AWS CloudFormation 右上角选择创建堆栈 - 使用新资源,打开 template-backup-enabled.yaml 下载 AWS CloudFormation 模板后,选择“上传模板文件”,将下载好的模版从控制台上传,点击下一步。


第三步:填写参数

在 AWS CloudFormation 中填写参数,具体参数的含义请参考下面的列表:

  • Stack name:  请给您创建的堆栈命名。
  • BucketName: 给您用于存档的 S3 命名。
  • CreateBucket: 如果选择 false,将不启用存档功能。
  • CreateKeyPair: 选择是否创建密钥对,如果不创建,之后无法登陆服务器,选择 true 自动创建服务器密钥对,默认密钥对名称为 palserverkeypairxxxxx。如果需要在相同区域创建多个游戏私服,后续创建过程中请选择 false 避免密钥冲突,登陆服务器可以使用相同密钥。
  • ServerName: 指定私服游戏服务器名称
  • ServerSize: 选择创建的私服游戏服务器类型。
  • 选择服务器类型 - 指定玩家数量,最大值为 20。参考配置:2-4 名玩家建议选择 t3.large 或 r6i.large, 4-8 玩家建议选择 t3.xlarge 或 r6i.xlarge,8-20 名玩家建议选择 t3.2xlarge 或 r6i.2xlarge,不同游戏的配置支持的玩家数量不同,请根据具体游戏选择相应资源。Amazon EC2 云服务器不同机型的配置细节请参考:选择实例类型

第四步:创建堆栈

点击下一步,到最后审核页面,确认堆栈信息,创建堆栈


第五步:完成部署

大概等待 5 分钟完成部署。部署完成后可以在堆栈的“Output”选项中看到创建好的服务器资源 IP,用于存档的 Amazon S3,以及可用于存档恢复的 Amazon API Gateway。

如果您在部署过程中出现超出资源限制,可以打开 Service Quota 控制台申请相应的资源,例如申请弹性 IP 可以进入 Amazon EC2 弹性 IP 配额申请界面,点击右上角,“请求在账户级别增加”。


第六步:删除堆栈,清理资源

您已经完成本教程的所有指导步骤,在这一步骤中,您将清除本教程创建的所有资源,以保证不会再产生任何费用。首先需要删除创建好的 Amazon S3 资源,请在搜索框中搜索 S3,删除命名为“game-server-cdk-demo-xxxxxxx”格式的 S3 桶,然后在控制台中找到  AWS CloudFormation 的 Stack 中您构建的堆栈,点击“delete”删除后,会将您构建的所有资源清除。


小结

以上教程帮助用户在亚马逊云科技根据客户需求选择合适的服务器,允许用户选择是否启用存档,同时支持快速进行存档恢复。帮助用户快速完成私服游戏的多区域自动化部署流程。本教程针对不同私服游戏类型请适配不同的启动模版,请针对您需要部署的私服游戏更新启动模版。

亚马逊云科技仅为您推广技术方案,目的仅限于帮助您了解行业前沿技术和亚马逊云科技境外区域为您的海外业务提供的选择。您应当在确保符合适用法律法规的前提下使用该解决方案,并承担合规责任。