同区域ECS访问OBS:内网终端节点与公网流出怎么分界
【摘要】 同区域 ECS 访问 OBS 能否免公网流出,取决于终端节点是否由华为云内网 DNS 解析到 100 或 214 网段。本文对照公网、内网和跨区域路径,并给出 nslookup 与费用中心的核对步骤。
背景
同一台弹性云服务器读写对象存储 OBS,费用中心里有时会出现公网流出,有时完全没有。差别不在“机器是不是华为云的”,而在这次访问有没有走同区域的内网。官方最佳实践写得很明确:通过公网读取会受网络质量影响,并产生流量费用;要少占公网带宽、避开这笔流出,需要 ECS 与 OBS 在同一区域,并由内网 DNS 解析 OBS 域名。存储容量、请求次数和流量是不同计费项,内网免掉的是公网流出,不是整张账单。
对照
| 路径 | 怎么判断 | 流量边界 |
|---|---|---|
| 同区域,解析到内网 | nslookup 终端节点得到 100 或 214 网段 | 内网访问,不按公网流出计 |
| 同区域,但用了外部 DNS | 同一域名解析到公网地址 | 可能产生公网流量费 |
| 跨区域直接访问 | 例如北京四的 ECS 访问香港终端节点 | 走公网 |
| 经 VPN、云连接、VPCEP 或云专线 | 解析结果仍为 100 或 214 网段 | 文档算作内网访问;专线本身另有带宽费用 |
| 互联网客户端下载 | 桶访问域名或 CDN | 公网读取计流量 |
终端节点是区域域名,不是桶名。华北-北京四的终端节点是 obs.cn-north-4.myhuaweicloud.com,桶访问域名是“桶名.该终端节点”。文档同时说明:解析出的 IP 会变化,不要把 IP 写进配置,也不要用 IP 直接访问。
步骤
- 在 OBS 控制台打开桶概览,核对桶区域。ECS 与桶不在同一区域时,默认就是公网访问。
- 在 Linux ECS 上执行
cat /etc/resolv.conf。nameserver 应是该区域的华为云内网 DNS。华北-北京四为 100.125.1.250 和 100.125.129.250;其他区域以云解析服务文档中的内网 DNS 表为准。若配置成公共 DNS,OBS 域名会解析到公网 IP。 - 执行
nslookup obs.cn-north-4.myhuaweicloud.com(换成桶所在区域的终端节点)。结果属于 100 或 214 网段,才是内网。已绑定 EIP 的 ECS 会优先走内网,内网不通才回落 EIP,所以这次检查必须用同区域终端节点。 - 把 obsutil 或 SDK 的 endpoint 设为该区域终端节点,上传一个小对象再删除。到费用中心查看对象存储的公网流出是否增加。请求次数仍可能变化,这不代表走了公网。
注意点
- 新增的内网 DNS 要写在
/etc/resolv.conf里原有 DNS 之前,否则仍可能先用公网解析。更稳妥的做法是改 VPC 子网的 DNS,让同子网的 ECS 一起生效。 - 自定义域名、静态网站域名和 CDN 域名用于对外发布,不要拿来当作同区域业务的内网通道。
- 桶策略、ACL 和临时密钥只决定能不能访问,不决定数据包走内网还是公网。
- 归档取回费、存储容量费与访问路径无关。具体单价以当前区域的计费说明为准,上线前用费用中心核对,不要只看“能打开对象”。
内网网段在访问规则里写的是全区域 100.125.0.0/16,适合做安全组或路由参照。它不能代替域名:业务配置里始终写终端节点,再用 nslookup 确认落在 100 或 214 网段。
小结
同区域访问 OBS 想避开公网流出,只要三件事对齐:ECS 与桶同一区域、endpoint 使用该区域终端节点、DNS 使用华为云内网 DNS 且解析到 100 或 214 网段。上线前做一次 nslookup,再用一个小对象核对费用中心,比月底对账更省事。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)