很多人第一次给小程序准备后端,想法其实很简单:找台服务器跑程序,再配一个数据库,外面能访问,每个月别花太多钱。
可一打开阿里云控制台,问题就来了:服务器买多大的?数据库是装在服务器里,还是用阿里云提供的 RDS 云数据库?硬盘怎么选?安全组要开哪些端口?这一套按月到底要多少钱?
按钮不难点,难的是这些东西该怎么选。小程序刚起步,买贵了浪费,买便宜了又怕不够用。
这次我干脆不先查云产品,只把用途、访问量和预算说清楚。我想看看,它能不能把这句话变成几套能比较的方案,创建前把架构和价格讲明白,遇到问题也能接着做完。

先说想要什么
我在终端里输入的是:
text
帮我在阿里云上搭个小程序后端环境,要数据库,平时访问不多,每月最好别超过 200 块
这句话里没有 ECS、RDS、VPC,也没有 CPU、内存、硬盘和带宽参数。普通用户说需求,本来就不该先写一份云产品采购清单。
当然,也不是所有事情都能靠猜。后端用什么语言,会影响服务器环境和数据库的选择,所以它又问了一个问题,并把常见选项直接列了出来:
text
小程序后端用的什么技术栈?这会影响服务器环境和数据库类型的选择。
1. Java (Spring Boot)
2. Node.js (Express/Koa 等)
3. Python (Django/Flask/FastAPI 等)
4. Go
5. PHP
如果不在上面的列表中,请直接输入你的技术栈和数据库偏好(如 MySQL/PostgreSQL/MongoDB 等)
> python
常见技术栈照着选就行,不在列表里再自己输入。这次我选了 Python。
这样的追问我能接受:用途、编程语言和预算是我知道的;服务器型号、硬盘类型、网络和数据库规格,可以交给它去查。没必要先学完一遍阿里云,才有资格开始。
它不是甩几条命令就结束
需求说完后,它没有扔给我一份操作清单,让我自己去几个控制台页面收尾。
它继续往下规划架构、生成创建云资源所需的模板、检查配置并询价,而且一次准备了两套方案:
text
ECS极简 + RDS基础版托管方案
ECS自建数据库性能优先方案
第一套把 Python 后端放在 ECS 云服务器上,数据库单独使用 RDS 云数据库。数据库的备份和日常维护交给阿里云,省心一些。
第二套把后端和数据库都装在 ECS 上,并给数据库准备一块单独的硬盘。机器的性能更充裕,不过数据库备份、安全和维护都得自己负责。
两套方案是同时准备的。一套还在生成模板,另一套已经开始算价格:
text
ECS极简 + RDS基础版托管方案: 模板生成 [1/2]
ECS自建数据库性能优先方案: 成本估算 [2/2]
跑完以后,两套方案都有了可用的模板和费用估算:
text
✓ ECS极简 + RDS基础版托管方案: 已完成
✓ ECS自建数据库性能优先方案: 已完成
这不是随口给两条建议。两种搭法都已经准备好,可以直接创建,价格也算过了。我不用先研究"托管数据库"和"自己装数据库"分别有哪些坑,更不用亲手配置两遍,看结果再选就行。
创建前会停下来让你确认
前面的步骤可以自动往下跑,花钱之前还是得问我。
创建资源前,它会停下来,把架构图、资源规格和费用一起摆出来。我可以先看清这套环境怎么搭、每个月大概要花多少钱,再决定要不要继续。
"ECS 极简 + RDS 基础版托管方案"的架构图是这样的:
text
┌────────────────────┐ ◀ ─ ─ ─ ─ ─ ─ ┐
│ Python 应用服务器 │ IP 白名单授权 │
└─────────┬──────────┘ │
│ 数据库访问 │
▼ │
┌────────────────────┐ │
│ MySQL 数据库 │ ─ ─ ─ ─ ─ ─ ─ ┘
└────────────────────┘
这张图先画了最重要的关系:Python 程序跑在 ECS 云服务器上,数据放在 RDS MySQL 里;数据库设置了 IP 白名单,只允许这台应用服务器连接。
VPC、交换机和安全组这些底层资源也没有少,只是放在图下方的方案说明和资源清单里。简单理解,VPC 和交换机负责把资源放进同一个云上网络,安全组负责控制谁能访问服务器。
图的下面就是规格和询价结果:
text
产品 规格 月费用
ECS 实例 ecs.g7.large, 40GB cloud_essd ¥39.50/月
RDS MySQL 基础版 mysql.n2.small.1, 20GB cloud_essd ¥17.92/月
专有网络(VPC)/ 交换机 / 安全组 ¥0
公网带宽 按流量 5Mbps ¥0.80/GB
固定费用合计 ¥57.42/月
固定费用每月 57.42 元,低于 200 元的预算。公网流量另外按实际用量收费。价格会受地域、计费方式、账号折扣和活动影响,这里是录制当时查到的价格。
看过架构和价格后,我选择了托管 RDS 的方案:
text
✓ 已选择: ECS极简 + RDS基础版托管方案
到这里再确认,心里就有数了:资源怎么连接、数据库由谁维护、固定费用大概多少,都已经看过。准备工作可以自动完成,选哪套、要不要花这笔钱,还是由我决定。
中途报错,也没有停在那儿
开始创建资源后,RDS 数据库报错了:
text
InvalidDBInstanceClass.Offline
这串英文的意思很简单:询价时选中的 mysql.n2.small.1 已经下线,现在买不到了。
它没有把一句"创建失败,请更换规格"留给我处理。接下来,它去查当前还能购买的 RDS 规格,找到接近原方案的 mysql.n2e.small.1,换好以后继续创建:
text
原规格 mysql.n2.small.1 已下线
替代规格 mysql.n2e.small.1 1核2GB
处理结果 继续创建成功
我不用搜索错误码,也不用打开控制台接手处理。一个数据库规格失效了,整套任务没有停在那里等我。
部署完,还可以继续问
十来分钟后,方案里的资源都创建成功了:
text
专有网络(VPC) 192.168.0.0/16
交换机(VSwitch) 192.168.1.0/24
安全组 开放 22/SSH + 8000/应用端口
云服务器(ECS) 已创建,并分配公网 IP
RDS MySQL 数据库 已创建,提供内网连接地址
流程已完成,总耗时 10.4m
这里搭好的是运行小程序后端所需的云上环境,不包含我自己的 Python 业务代码。代码还要从项目里发布到 ECS 服务器上。
资源创建完,刚才的上下文还在。我直接接着问:
text
你换了rds的规格,现在价格差多少?
它知道我说的是刚才换掉的 RDS 规格,重新查价后把两个型号放在一起比较:
text
项目 询价规格 实际部署
RDS 规格 mysql.n2.small.1 mysql.n2e.small.1
RDS 规格说明 1核 1GB 1核 2GB
RDS 月费(含合同折扣) ¥17.92/月 ¥7.76/月
ECS 月费 ¥39.50/月 ¥39.50/月(不变)
合计月费 ¥57.42/月 ¥47.26/月
换上的 RDS 内存更大,查到的价格反而每月便宜约 10 元,整套环境的固定费用降到了约 47 元。
我没有重新提供资源 ID,也没有从头解释刚才发生了什么。前面选过什么、创建时改过什么,它都能接得上。
查价格只是一个例子。以后想看资源状态、调整配置,或者不再使用这套环境,也可以继续说:
text
这套小程序后端环境不用了,帮我把刚才创建的资源释放掉
它会根据前面的部署结果继续处理释放,不用再去控制台逐个查找和删除资源。

这次录屏里最实用的几个地方
回头看,这几件事最省心:
- 需求好说:先说用途、访问量和预算,不用把需求翻译成一串云产品名称。
- 不只给建议:两套方案同时准备,模板、配置检查和价格都一起做完。
- 花钱前看得明白:先看架构、规格和费用,再决定要不要创建。
- 报错不用自己接盘:规格下线后会继续找替代项,把没做完的任务接着做完。
- 部署后还能接着管:查价格、看状态、改配置,环境不用了还可以直接释放。
对刚接触阿里云的人来说,真正费时间的不是点按钮,而是先弄懂 ECS、RDS、VPC、交换机和安全组,再把它们拼成一套能用的环境。现在可以省掉很大一段摸索。
最后,说一下 iac-code 的 pipeline 模式
这次在终端里完成整套操作的工具叫 iac-code。
如果你还没安装,可以先看上一篇《用说人话的方式,管理你的阿里云资源》。安装、配置阿里云账号凭证和第一次使用的步骤,都放在那篇文章里了。
想在终端里看到本文这种架构图,需要使用 Python 3.11 或更高版本,并补装绘图功能:
bash
pip install "iac-code[diagram]"
已经安装过 iac-code,也可以直接运行这条命令补上绘图功能。没装也不影响其他功能,只是终端里会显示一段用来描述图表的 Mermaid 文本,看不到录屏里这样的图形。
这次用的是 iac-code 的 pipeline 模式。它适合小程序后端这种"需求一句话就能说清楚,真正搭起来却有很多步骤"的事情。
使用时,我主要做三件事:说清楚目标和预算,回答少量必要的问题,看过架构与价格后选方案。
云产品怎么组合、模板怎么写、参数能不能用、价格是多少、创建失败后怎么继续,这些工作会自动往下跑。需要我决定的地方,它会停下来等我。
我喜欢这种分工:麻烦的准备和执行交给工具,方案怎么选、钱要不要花,仍然由自己决定。