用 AI DevSpace 一句话查遍五地域 ECS:一次只读云资源盘点实录
一、缘起:一次例行的云资源盘点
每天早上打开电脑,我的第一件事常常是确认一遍账号下各地域运行中的云服务器数量。弹性云服务器(ECS)分布在不同地域,逐个地域打开控制台、逐页点开实例列表核对,费时又容易漏看。今天我换了一个办法:走进华为云 AI 开发者空间(AI DevSpace),用一句话向 AI Shell 发出查询,让它帮我把华北-北京四、华东-上海一、华南-广州、西南-贵阳一、华北-北京一这五个地域的运行中实例数量一次性查清楚,全程只读,不创建、不修改、不删除任何云资源。
这篇文章记录的就是这次真实的体验过程、查询结果,以及过程中遇到的一个权限问题和我的处理思路。
二、进入 AI DevSpace:从成长中心出发
入口并不难找。先打开开发者成长中心,在任务中心里找到“每日体验 AI DevSpace”,点击“去完成”,页面会跳转到 AI Agent 开发实践中心;在这里点击“前往 AI DevSpace 实践”,再选择版本。
版本选择页提供两种模式:体验版和持久化版。体验版是免费的容器环境,不消耗任何额度,容器会在 3 小时后释放,再次启动会创建全新的容器,文档需要自己及时保存;持久化版按核时计费,首次会赠送 8000 核时,适合需要长期保留环境的场景。我今天只做一次只读查询,体验版完全够用,于是直接选了体验版,点击“立即进入”。
进入之后是一个类似桌面开发环境的工作台:左侧有 AGENTS、TOOLS、环境管理等栏目,AI Shell 就在其中;左下角是“会话 / AI 对话”面板,右侧是资源管理器,中间是对话区。环境准备需要一点时间,提示“环境准备中,请勿关闭窗口”,等它就绪后就可以开始对话。
三、发出查询:一句话说明需求和边界
我在 AI 对话面板新建了一个会话,工作目录默认是 /root/workspace,直接确认。然后在输入框里用自然语言写下需求:“请只读查询我账号下处于运行中状态的弹性云服务器(ECS)数量,分别列出以下地域的结果,不要创建、修改或删除任何云资源:华北-北京四、华东-上海一、华南-广州、西南-贵阳一、华北-北京一。”
把“只读”和“不要创建、修改或删除”写进需求里,是我刻意做的事。让 AI 去操作云资源时,先把边界讲清楚,既能避免误操作,也是对自己账号负责。发送后,对话进入 Semi-Auto(半自动)模式,AI 会一边思考一边执行,关键步骤会展示出来。
四、AI 的执行过程:技能、环境检查与并行查询
这次查询最让我感兴趣的,是 AI 背后那套“技能”机制。收到需求后,AI 先加载了一个名为 huawei-cloud-computing-query 的技能——可以把它理解成一份预置好的查询操作手册,里面规定了查询 ECS 的标准流程、可用脚本和注意事项。
接着它按流程做了三件事。第一,运行环境检查脚本 check_env.sh:确认 Python 环境(我这里是 Python 3.11.16)、安装所需依赖,并校验华为云 SDK(core、ecs、iam 等组件)是否就绪。第二,读取技能里的 ECS 查询指南 guide.md,确认查询脚本 list_servers_details.py 的用法。第三,确认状态过滤参数:华为云 ECS 的“运行中”状态对应 ACTIVE,于是使用 --status ACTIVE 进行过滤;为了拿到完整数量、避免分页截断,查询时还用 --sort_by 触发全量拉取。
随后,五个地域的查询被并行发出,分别对应 cn-north-4、cn-east-3、cn-south-1、cn-southwest-2、cn-north-1。整个过程我不需要敲任何命令,也不需要自己去查各地域的 Region ID,AI 按技能手册一步步执行,并在界面上把每一步的命令和输出都展示出来,这种可观测性让人很安心。
五、查询结果:四个地域为 0,一个地域查不到
2026 年 11 月 6 日 04:35 左右,查询完成,结果如下:
| 地域 | Region ID | 运行中 ECS 数量 | 说明 |
|---|---|---|---|
| 华北-北京四 | cn-north-4 | 0 | 查询成功,无运行中实例 |
| 华东-上海一 | cn-east-3 | 0 | 查询成功,无运行中实例 |
| 华南-广州 | cn-south-1 | 0 | 查询成功,无运行中实例 |
| 西南-贵阳一 | cn-southwest-2 | 0 | 查询成功,无运行中实例 |
| 华北-北京一 | cn-north-1 | — | 查询失败:当前 IAM 用户在该地域无访问权限(403 Forbidden) |
前四个地域查询成功,结果都是 0 台,说明这四个地域当前确实没有处于运行中状态的 ECS 实例——账号干净,没有遗留的在跑实例,这本身就是一次有价值的盘点结论。
唯一例外的是华北-北京一。API 返回的错误是 “The IAM user is forbidden in the currently selected region”,即当前 AK/SK 对应的 IAM 用户在 cn-north-1 地域没有被授权访问。AI 也在回答里给出了同样的解释:通常是该地域未开通,或者当前账号、IAM 用户的项目权限没有覆盖该地域。
六、权限问题怎么处理:先定位,再授权
遇到 403 先别急着换账号或者反复重试,正确的做法是先定位原因,再决定怎么处理。
第一步是确认地域是否开通。如果账号从未在华北-北京一开通服务,自然也就没有该地域的项目权限,这时去控制台确认地域开通状态即可。第二步是检查 IAM 授权:即便地域已开通,当前 IAM 用户的项目权限也可能没有覆盖 cn-north-1,需要在 IAM 中为该用户授予对应项目的访问权限。第三步是复查 AK/SK 的归属——DevSpace 环境里使用的 AK/SK 对应的是哪个 IAM 用户,权限边界就划在哪里。
我的体会是:这种“查不到”本身也是有用的信息。它把平时藏在控制台角落里的权限配置问题,用一次查询直接暴露了出来。而且因为查询是只读的,排查过程没有任何副作用,不用担心误改配置。
另外要提醒一句,权限要遵循最小够用原则。日常盘点、查询类工作,给 IAM 用户只读权限就够了;不要长期使用权限过大的 AK/SK,更不要把 AK/SK 明文写进代码或文档里。
七、这次体验的几个收获
第一,自然语言正在变成云运维的入口。以前要查五地域的运行中实例,至少要熟悉五个地域的控制台入口和筛选条件;现在一句话就能让 AI 按规范流程跑完,还能把中间步骤展示出来核对。对新手来说,门槛一下子降了下来。
第二,“技能”机制让 AI 的操作可复用、可审计。查询不是凭空生成的,而是有章可循的:加载技能、环境检查、按指南调用脚本、按状态过滤。整个链路可见、可追溯,出了问题也知道该查哪一步。
第三,只读查询是很好的日常巡检方式。每天花一两分钟确认各地域运行中实例数量,能及时发现遗留实例和异常消耗。对我来说,四个地域结果为 0 就是今天最省心的结论。
第四,版本选择要按需来。体验版免费、开箱即用,适合这种一次性体验和验证;但 3 小时后容器会释放,重要文档要及时保存;如果要长期使用、保留环境和数据,再考虑持久化版。
第五,查询之前先理一理权限。IAM 授权、地域开通状态这些前置条件,会直接决定查询能不能跑通。提前确认,比事后排错更省时间。
八、结语
一句话查询、五地域盘点、四台为零、一个 403——这就是今天这次 DevSpace 体验的全部结果。过程不复杂,但它把“用 AI 查云资源”这件事完整地跑通了一遍:从成长中心进入实践中心、选体验版进工作台、在 AI Shell 里用自然语言下达只读查询、看 AI 加载技能做环境检查、并行查完五个地域,再对着结果表做判断。
如果你也经常需要在多个地域之间核对云资源,不妨用同样的方式试一次:先讲清楚只读边界,再让 AI 去跑流程,最后亲自核对结果和权限。把重复劳动交给 AI,把判断留给自己,这大概就是这类智能开发环境最实在的用法。
- 点赞
- 收藏
- 关注作者
评论(0)