弹性公网IP按带宽还是按流量计费:选型与踩坑
两种计费模式的本质区别
华为云弹性公网IP(EIP)提供两种计费模式:按带宽计费和按流量计费。按带宽计费购买的是带宽上限,费用与实际流量无关,适合流量稳定或持续跑满的场景;按流量计费不限制瞬时带宽(受EIP最大带宽规格约束),按出方向流量单价结算,适合流量低且波动大的场景。注意入方向流量不计费。
以华东-上海一为例,按带宽计费5Mbit/s约0.063元/小时(包年包月价格更低);按流量计费约0.80元/GB。粗略换算:若5M带宽连续跑满,每小时出流量约2.25GB,按流量计费需1.80元,远高于按带宽的0.063元。因此带宽全天使用率超过约3.5%时,按带宽更划算。
选型的三个判断依据
- 平均带宽使用率:低于3%优先按流量,3%~10%需结合峰值时长测算,高于10%直接选按带宽。
- 流量方向:出方向流量才计费,纯下载/拉取型业务(如镜像站、文件下载)出流量极大,必须选按带宽并设置合理的带宽上限。
- 是否可预估:无法预估峰值、偶发大流量(如发布日的突发访问)用按流量并配合带宽封顶更安全。
操作方式与配置片段
创建EIP时可指定计费方式。使用hcloud CLI按带宽创建:
hcloud eip create --publicip.type EIP --bandwidth.size 10 \ --bandwidth.share_type PER --bandwidth.charge_mode bandwidth
按流量计费则将--bandwidth.charge_mode改为traffic,此时bandwidth.size表示流量计费模式下的带宽上限(即峰值封顶带宽,不额外收费)。
后续变更带宽可用:
hcloud eip update --id <eip_id> --bandwidth.size 50
按流量转按带宽需要先确认EIP未绑定共享带宽。共享带宽场景下,EIP的计费由共享带宽实例统一决定,成员EIP只能选按带宽或按95计费。
踩坑一:按流量计费的带宽上限只影响峰值,不影响费用
有同事误以为把按流量EIP的带宽上限从5M调到100M会拉高费用,实际不会:费用只与出流量有关,带宽上限仅做峰值封顶。反向的坑更常见:为了省钱把按流量EIP的带宽上限保留默认5M,结果业务上传卡在0.6MB/s,排查半天以为是应用限速。
解决办法:按流量计费时把带宽上限设为业务实际需要的峰值(例如CDN回源需要50M就设50M),费用仍是按实际发生的流量结算;真正控制费用应依靠云监控的流量告警和预算阈值,而不是压低带宽上限。
踩坑二:共享带宽成员EIP的计费模式无法单独改
把按流量的EIP加入共享带宽实例后,再调用eip update改charge_mode会报错,提示该EIP已加入共享带宽。原因是共享带宽实例本身有独立的计费模式(按带宽或按95峰值),成员EIP不再单独计费。
解决办法:先将EIP从共享带宽移除,再变更计费模式,变更后再按需重新加入。批量场景可用:
hcloud bandwidth remove-eips --bandwidth_id <bw_id> --eips <eip_id> hcloud eip update --id <eip_id> --bandwidth.charge_mode bandwidth hcloud bandwidth add-eips --bandwidth_id <bw_id> --eips <eip_id>
另一个易忽略点:按流量计费的EIP若带宽上限设得较高,在遭受扫描或异常下载时流量费会在几小时内激增。应配合云监控设置出流量告警,阈值建议按日均流量3倍取值。
小结
带宽使用率低于3%选按流量,高于10%选按带宽,中间区间按峰值小时数实测。按流量计费要把带宽上限设成业务真实峰值而不是压低上限,共享带宽成员的计费模式需先移出再修改。费用控制依靠监控告警和预算,而非保守的带宽配置。
- 点赞
- 收藏
- 关注作者
评论(0)