我是如何分配云服务域名的
通常情况下,企业和个人用户在使用云资源时都会考虑绑定自由域名来访问云资源(OSS、Serverless云函数、CDN等),但若云资源数量较多且没有一套规范的域名分配规则,对后期的运维管理及 debug 而言都是一件十分麻烦的事情。
原则
永远不要信任用户的输入
若云资源涉及到用户自行上传的数据,在对数据没有绝对把握的情况下,云资源域名最好不要同项目域名使用同一个,如我的项目网站域名为 “example.com”,那么我的云资源域名可以使用 “example.net”。
例如阿里云国内版的云资源域名使用 aliyuns.com,而项目域名为 aliyun.com。
服务性质披露
通常的,云资源(以OSS举例)会根据 地域(国家、城市、数据中心、机房)、性质(OSS、CDN)、提供商(Microsoft Azure、Alibaba Cloud)、服务名称(Images、Apks)、服务性质(公共、私有、组织共享)、数据类型(冷数据、热数据、常规数据、加密数据)、附加参数(是否开启版本控制) 等维度分类,但在生产环境中,并不需要向用户披露大部分参数,如用户并不需要知道数据通过什么加密方式进行加密存储;并且,向用户披露过量的数据会影响云资源的安全性。
云资源域名将如何构成
考虑因素
DNS 查询耗时
一般情况下,我们容易忽视的一个参数是 DNS 查询耗时,虽然在单域名解析中 DNS 查询耗时足以被忽略,但在查询数量较大的云服务中,DNS 查询耗时是不可忽略的参数,若我们希望 DNS 查询耗时能降低,我们必须尽可能降低云资源域名的级数。
可识别性(人类友好性)
在保证域名简洁的同时,我们还需要尽可能的使域名中包含我们需要的字串,这些可识别字串(如云资源国家)可以极大的方便后续工作。
标准性
相比于多数据中心共用同一域名(tokyo.api.example.com),每个数据中心使用单独的二级域名(api.tokyo.example.com)是更好的选择,该种组合可以更加方便的对域名权限进行分配和对子服务进行管理。
推荐构成法
特殊情况
云资源数量少
若域名并不需要指向过多云资源,那么更加建议使用例如 “oss.example.net” 或 “cdn.example.net” 一类的域名。