微软云代充值 微软云 Azure 账号资源命名规范
别再让命名毁掉你的 Azure 运维体验
你有没有经历过——半夜三点收到告警,点开 Azure Portal 找资源,看到一串 vm0123456789、storageprodwestus、rg-xyz-2023-test 混搭乱炖?翻了八页资源组列表,愣是分不清哪个是生产数据库的备份存储,哪个是测试环境里临时跑个 Python 脚本的虚拟机?别急,这不是你运维能力差,大概率是——命名没规矩。
Azure 本身不强制命名规则,但它像一座没有路标的城市:路是通的,但走错一个岔口,就可能绕进「资源归属不明」「权限策略失效」「CI/CD 流水线崩溃」的死胡同。本文不讲高大上的架构理论,只聊最实在的事:怎么起名,才能让同事一眼看懂、让 Terraform 不报错、让审计老师点头微笑、让你自己三个月后回看代码时不抓狂。
五大铁律:每个名字都得有身份证
Azure 命名不是艺术创作,是结构化编码。我们提炼出五个不可省略的字段,按固定顺序拼接,形成「人话+机器话」双兼容的名字:
① 环境标识(Env)——先问一句:这是给谁用的?
必须用小写缩写,且仅限:prd(生产)、stg(预发)、dev(开发)、test(测试)、uat(用户验收)。拒绝 production(太长)、PROD(大小写混用易出错)、demo(语义模糊)。特别提醒:stg 和 uat 容易混淆,建议在团队内明确定义——比如「stg=全链路压测前最后一道闸门,数据脱敏;uat=业务方签收前的沙盒环境,允许脏数据」。
② 业务域(App/Biz)——谁家的孩子谁抱走
用 2–4 字业务简称,小写,禁用拼音首字母(crm 可以,cwgl 不行)。优先采用行业通用缩写:erp、oms、bi、pay;内部系统则用已约定俗成的代号,如「供应链中台」统一叫 scm,而非 gys。曾有个团队用 fin 表示财务系统,结果和金融风控系统的 fin 冲突,最后靠加数字区分,埋下权限配置隐患。
③ 资源类型(Type)——是什么,就叫什么
用 Azure 官方资源提供程序短名(不是中文名!),小写,去空格下划线。例如:vm(VirtualMachine)、sql(SqlServer)、sqlmi(SqlManagedInstance)、aks(KubernetesService)、kv(KeyVault)、st(StorageAccount)。重点避坑:functionapp 必须缩为 fa(Azure CLI 和 ARM 模板认这个),loganalyticsworkspace 缩为 law——别硬凑 laworkspace,超长还难读。
④ 区域(Loc)——地理信息不是装饰品
用 Azure 地理位置短码,小写,官方推荐格式:eastus、westeurope、chinanorth2(中国北部2)、chinaeast2(中国东部2)。禁止用城市名(beijing)、国家名(cn)或自定义码(bj)。为什么?因为 Azure 的 API、CLI、监控指标全靠这个短码识别地域属性——你起名 rg-prd-pay-eastus,Terraform 就能自动把资源部署到对应 Region;起名 rg-prd-pay-bj,等于告诉工具:「我也不知道这玩意该放哪,你随便」。
⑤ 序列号/实例标识(Seq/Inst)——同一类里的唯一身份证
纯数字(如 001)或带功能后缀的短字符串(如 -primary、-dr)。避免用 abc(排序困难)、v1v2(版本语义易与 CI/CD 版本号冲突)。关键原则:同一资源组内同类资源序号不重复;跨资源组允许重复(因环境隔离)。曾有客户将所有 SQL Server 命名为 sql-prd-erp-chinanorth2-01,结果灾备切换时发现主从库同名,导致 DNS 解析失败——后来改成 sql-prd-erp-chinanorth2-primary 和 sql-prd-erp-chinanorth2-dr,问题立解。
组合范式:抄作业专用模板
把五要素按 env-app-type-loc-seq 顺序拼接,用短横线连接,全程小写。以下为高频场景实战组合:
- 生产环境核心数据库:
sql-prd-erp-chinanorth2-primary - 开发环境 AKS 集群:
aks-dev-bi-eastus-001 - 预发环境密钥保管库:
kv-stg-pay-westeurope-001 - 测试环境 Blob 存储:
st-test-oms-chinaeast2-logs(此处logs代替数字,因用途明确且无歧义) - 资源组(RG)命名:
rg-prd-erp-chinanorth2(RG 名不含 Seq,因 RG 本身即逻辑容器)
注意:总长度务必 ≤ 90 字符(Azure 多数资源上限为 90,如 Storage Account 严格限制 24 字符,需单独适配)。遇到超长,砍掉冗余词——virtualmachine 必须缩为 vm,manageddisk 缩为 md,宁可牺牲一点「可读性」,也要守住「可用性」底线。
微软云代充值 血泪教训:那些年我们起过的「鬼名字」
• VM-PROD-ERP-WEST-US-1:混合大小写 + 下划线 + 空格替代符,Terraform 报错:「Invalid character ' '」;
• storageaccountforbilling2023:无环境标识、无区域、长度 25,创建失败;
• rg-dev-xxx-shanghai:非标准区域码,ARM 模板部署时提示「Location 'shanghai' not found」;
• myfirstakscluster:零业务上下文,半年后连创始人自己都忘了这是干啥的。
这些不是段子,是某电商客户真实工单截图。命名不是形式主义,是基础设施的「第一道安全阀」。
落地三板斧:从规范到习惯
① 钉钉/飞书建「命名速查表」机器人
输入 /name vm prd erp chinaeast2,自动返回 vm-prd-erp-chinaeast2-001 并附校验说明。比翻 Confluence 快 10 秒,积少成多就是工程师的黄金时间。
② Terraform 模块内置校验
在 variables.tf 里加正则校验:
validation {
condition = can(regex("^([a-z]{3})-([a-z]{2,4})-([a-z]{2,5})-([a-z0-9\-]{5,20})-[a-z0-9\-]+$", var.resource_name))
error_message = "资源名格式错误:应为 env-app-type-loc-seq,全小写,短横线分隔。"
}
③ 每周五「命名快闪会」
15 分钟,每人分享一个本周起的好名字 & 一个踩坑名字。连续三周无差错,奖励一杯咖啡——仪式感,是规范落地的隐形推手。
最后说句掏心窝的话
在云时代,资源命名不是文档边缘的注释,而是基础设施的 DNA。它不炫技,但决定 80% 的日常排查效率;它不烧钱,但省下的每一次「这是谁的 VM?」的 Slack 询问,都在为交付周期减负。当你给第 100 个资源起名时,如果还能笑着打出 kv-prd-auth-chinanorth2-001,恭喜你,已经拿到了 Azure 运维的入门券——而这张票,从来不需要 Azure 认证,只需要你按下 Shift 键前,多想 3 秒钟。

