华为云 AI 开发者空间实战:部署一个 2048 小游戏并做好资源清理
背景
这次参加华为云开放能力线上闯关挑战,目标是完成“沙箱部署”和“ECS 部署”两关。为了把流程跑通,我用 AI 开发者空间生成了一个单文件 2048 小游戏,再把它部署到一台按需 ECS 上,通过公网地址实际玩了一局,最后按清单清理了所有临时资源。
这篇文章记录完整过程、命令和容易踩的坑,重点不是“把游戏做出来”,而是把“生成、部署、验收、清理”这条链路走完整。
一、在 AI 开发者空间生成游戏
进入 AI 开发者空间后,可以在工作目录中直接创建项目。本次使用的游戏是一个单文件 index.html,包含:
- 4×4 棋盘和方向键操作;
- 相同数字合并、实时得分;
- 重新开始按钮;
- 移动端触控支持。
单文件的好处是部署简单,不需要 Node.js 构建,也不依赖后端接口。生成完成后先在预览环境里验证基本操作,确认方块能移动、能合并、分数会变化,再进入部署环节。
二、准备 ECS 和网络
本次在华为云北京四区域创建了一台按需 ECS,配置如下:
- 操作系统:Rocky Linux 9.6;
- 系统盘:40 GiB GPSSD;
- 公网:绑定一个按流量计费的 EIP;
- 安全组:只放行 22 端口(运维)和 80 端口(HTTP);
- 网络:新建 VPC 和子网,与原有网络隔离。
这里要特别注意:按需 ECS、系统盘和公网流量都会产生费用,测试完成后要尽快删除或释放。创建前先确认区域、规格和计费方式,避免把临时测试资源长期挂在账号里。
三、安装 Nginx 并部署页面
通过 SSH 登录 ECS 后,执行以下命令安装 Nginx 并部署页面:
sudo dnf install -y nginx
sudo mkdir -p /usr/share/nginx/html/hc-activity
sudo cp /root/workspace/index.html /usr/share/nginx/html/hc-activity/index.html
sudo systemctl enable --now nginx
curl -I http://127.0.0.1/hc-activity/index.html
如果本机返回 HTTP/1.1 200 OK,说明 Nginx 已经能正常提供页面。再到安全组确认 80 端口对公网放行,然后访问:
http://<EIP>/hc-activity/index.html
四、验收结果
浏览器打开公网地址后,重点检查以下几项:
- 页面能正常加载,没有 404 或空白页;
- 按方向键时方块会移动;
- 相同数字会合并,分数会同步增加;
- 点击重新开始能恢复初始棋盘;
- 手机或触屏设备上滑动操作正常。
本次实际用方向键玩了一局,移动、合并和计分都正常,说明静态页面和 Nginx 配置都没有问题。
五、资源清理清单
测试结束后,按“先计算、再网络”的顺序清理,避免因为依赖关系删不掉:
- ECS:删除实例,并勾选删除系统盘;确认 ECS 和 EVS 列表都为 0;
- EIP:释放公网 IP,确认 EIP 和带宽列表为空;
- 安全组:删除本次新建的安全组;
- 子网:删除本次新建的子网;
- VPC:删除本次新建的 VPC;
- OBS:如果创建过桶,删除桶和对象;
- 复核:确认原有 VPC、子网、安全组和服务器没有被误删。
删除完成后,建议在控制台再刷新一次资源列表,并到费用中心查看是否有待支付订单。账单通常有延迟,最终金额以次月账单为准。
六、几个容易踩的坑
- 体验版资源不足:如果体验版提示后台资源不足,可以切换到持久化版沙箱;体验版有时长限制,重要文件要及时保存。
- 子网 ID 别填错:创建 ECS 时使用
subnet.id,不要用neutron_subnet_id,否则容易选错网络。 - KooCLI 退出码:部分错误场景下命令可能仍返回 0,必须读取响应内容确认是否真的成功。
- 清理顺序:ECS 依赖子网和安全组,EIP 也可能绑定在实例上;先删 ECS,再删 EIP、安全组、子网和 VPC。
- 费用提示:按需资源即使只用十几分钟也可能产生少量费用,测试完立即清理是最稳妥的做法。
小结
这次实践把 AI 开发者空间、ECS、Nginx 和资源清理串成了一条完整链路。游戏本身不复杂,真正值得记录的是部署和收尾:先把访问链路跑通,再用清单逐项确认资源释放,既能完成关卡,也能避免临时资源产生意外费用。
- 点赞
- 收藏
- 关注作者
评论(0)