弹性公网IP原理与实战:移动云EIP绑定、计费与容灾全解析 1. 为什么需要弹性公网IP从一次真实的困惑说起前几天一个做运维的朋友打电话问我移动云控制台里有个弹性公网IP看描述是给云主机配公网IP用的可买云主机时不是已经可以选择分配公网IP了吗这东西到底解决了什么问题价格还不便宜到底要不要买这个问题太典型了。我刚接触云平台那会儿也是在云主机自带IP和单独买EIP之间纠结了很久。后来真正上手做迁移、做容灾才明白这两个看起来差不多的东西设计逻辑天差地别。要想理解移动云的弹性公网IP得先回头看传统机房时代的样子。1.1 传统IDC时期公网IP是怎么用的早年的服务器托管流程是这样的你在IDC租一个机柜位向运营商申请公网IP然后把IP配置到服务器网卡上。网络管理员到机器上改网卡文件、重启网络服务业务就跑起来了。那时候IP和服务器之间的关系是焊死的换机器意味着重新申请、重新配置周期以天计。我刚工作那年公司一台业务服务器主板坏了厂商维修要三天。当时没有高可用架构我们只能临时调了一台测试机加班加点重新配置环境再把IP指过去。看似简单的操作因为涉及内网、外网、路由、交换机ACL折腾了大半夜。后来我想明白一个道理传统网络的麻烦不在于配置IP这个动作而在于IP和物理设备绑定得太死一切改动都要靠人工串联起来。1.2 云计算场景下固定IP带来的三个尴尬虚拟化、云主机普及以后很多物理层面的问题解决了但公网IP绑定在服务器上的惯性思维带来了三个很尴尬的问题第一弹性能力差。云主机要从A资源池迁到B资源池或者从旧规格升级到新规格如果公网IP是长在机器上的迁移时要么丢IP要么得跟着重来一套网络配置。第二成本不可控。你在创建云主机时选了分配公网IP这个IP就跟着机器走了即使业务流量很低这个IP占用的带宽资源和地址资源也退不掉没法单独释放。第三故障恢复慢。没有EIP的日子两台云主机之间要做高可用得靠Keepalived这类软件虚拟出一个VIP配置复杂还要考虑ARP、广播、漂移等问题。对大部分团队来说门槛并不低。这三个尴尬本质上指向同一个诉求公网IP应该成为一种独立管理的资源不再跟某台机器生死绑定。于是弹性公网IP应运而生。2. 本质把公网IP从一台机器手里拆出来要回答移动云的弹性公网IP是什么最直接的定义是弹性公网IPEIP是云计算平台提供的一种可以独立购买、独立持有、动态绑定和解绑的公网IPv4地址资源。你可以把它理解成一张可插拔的公共网卡插到哪台云主机上哪台云主机就获得了公网访问能力。但理解了定义还不够还得知道它是怎么工作的。2.1 EIP与云主机之间的映射原理关键点来了EIP并没有配置在云主机的网卡上。在云主机里执行ip addr你只会看到一个私网IP比如10.x.x.x或172.x.x.x看不到EIP。那公网流量是怎么找到这台机器的答案是通过NAT映射。公网数据包到达云平台边缘或分布式虚拟路由器后虚拟路由器根据SDN控制器下发的规则将目的地址为EIP的数据包改写为云主机私网IP的数据包再送入对应的虚拟网络云主机回包时再做一次反向改写。这套机制和传统机房把公网IP配在网卡上是完全不同的两套逻辑。传统逻辑是数据包直接找网卡云平台的逻辑是入口地址在路由器真正干活的机器躲在私网里面。好处是绑定关系从物理层提升到了逻辑层改绑定关系只需要在控制面改规则不需要碰机器本身。移动云的资源池网络普遍采用SDN软件定义网络架构EIP相关规则由管控系统统一下发。这也是为什么你在控制台点一下绑定几十秒内业务就能通过新的IP访问而在传统环境里一次IP变更往往要拉上网络、运维好几个人协同。2.2 绑定、解绑时后台到底发生了什么我上面讲的改规则听起来轻松实际上绑定一次EIP后台要完成的工作包括校验地域和可用区是否匹配、检查目标实例是否在允许的绑定范围内、在虚拟路由器上创建NAT规则、同步分布式数据面、确认规则生效。每一步在控制台你只看到一个进度段背后其实是一套编排系统在跑。解绑也是同理。解绑后EIP地址保留在你的账户下但不再映射到任何实例公网流量到了入口也找不到去路相当于门牌还在但房子空了。这种地址资源和计算资源的分离是EIP最核心的设计思想。理解了这一层后面所有使用场景和坑都能顺理成章地解释。2.3 EIP与普通公网IP、私网IP、安全组的关系为了帮你快速建立知识框架我整理了一张对比表概念是否独立资源绑定目标典型作用普通公网IP否随云主机创建固定在单台机器上单机公网入口弹性公网IP是可单独购买云主机、SLB、NAT网关等灵活公网入口私网IP否随云主机创建固定在单台机器上云内网通信安全组是独立规则一组云主机入方向/出方向流量控制配好EIP之后公网流量要到达云主机业务进程路径是这样的用户访问EIP → 云平台虚拟路由器做NAT映射 → 安全组规则检查 → 云主机系统内部防火墙 → 业务端口。安全组不在EIP里也不用在EIP上配置但它决定了EIP的流量能不能进到机器里。这部分内容我在给客户做方案时经常强调安全组是EIP使用里最容易漏掉的一环忘了放行端口EIP本身没问题业务却一直不通。3. 移动云EIP的购买、计费与线路选择理解原理以后就可以上手实操了。移动云控制台里入口在产品与服务 → 网络 → 弹性公网IP。首次使用按要求开通然后点创建公网IP。3.1 控制台上一次完整的购买配置创建页面上的核心配置项我逐个讲一下区域也就是资源池所在的地域。EIP只能绑定同地域的云主机跨地域不行。你选华东资源池就只能绑华东的机器。线路类型常见有全动态BGP和移动单线。全动态BGP在顶层通过BGP协议同时对接多个运营商自动选择最优路径移动单线主要走中国移动网络出口价格更低但面向电信、联通用户访问时可能不是最优路径。计费方式按带宽计费或按流量计费。带宽按带宽计费时直接指定带宽值通常从1Mbps起步往上可以调到几百Mbps。数量一次可以创建多个EIP方便后续绑定多台机器或多个负载均衡。购买时长包年包月或按量付费按量付费适合临时验证场景。我给大多数业务的建议是如果不确定选什么优先选全动态BGP 按带宽计费 5Mbps起步。全动态BGP能保证跨网络访问体验按带宽计费则方便控制预算。3.2 按带宽与按流量的成本模型算一笔账选择按带宽还是按流量本质是对业务流量的预估。按带宽计费相当于买断一条固定带宽的高速公路不管你走多少车钱是固定的。按流量计费相当于按过车的数量收费没车走就基本不花钱车多了费用自然高。具体算一笔账10Mbps带宽如果以理论速率持续跑满一个月能跑大约3240GB流量10Mbps×3600秒×24小时×30天÷8。如果你实际一个月跑不到一两百GB显然按流量计费更划算如果你常年有大流量下载、视频分发类业务带宽计费则更有优势。按流量计费时还有一个带宽峰值要设置。这个峰值是对速率上限的限制不是预付费。比如你设5Mbps上限那么某个瞬间即使网络拥塞最多也只能跑到5Mbps。为了防止某台被攻击的机器产生天价流量账单许多团队会把带宽峰值设得比业务实际需要略高一点既不影响体验又能控制风险。3.3 移动云资源池与线路选择的一些经验移动云的资源池分布广选择区域时要考虑用户群体位置。我给过客户一个建议做To C业务的优先选华东、华南这类用户密度高的资源池优先保证离用户近。做内部业务系统的可以选离自己公司机房近的资源池方便和自有系统互通。线路类型的选择逻辑我也再补充下。全动态BGP贵但省心。移动单线便宜但你要清楚自己的用户画像。举个例子如果业务用户全部来自公司内部而公司恰好用的是中国移动企业宽带那么移动单线完全够用能省一笔钱如果网站要对公众开放老老实实买BGP否则你收到的投诉电话可能比省下的钱更值钱。4. 绑定、解绑与故障切换实操购买完成后真正的重头戏是绑定。4.1 绑定云主机的正确姿势和细节在EIP列表页找到目标IP点绑定系统会列出当前地域下可绑定的资源类型包括云主机、负载均衡等。选云主机确认完成。绑定过程中的几个细节值得注意一台云主机通常只能绑定一个EIP。多IP需求属于少数场景需要单独处理普通业务用不上。绑定操作不会重启云主机也不会重置系统网络配置对运行中的进程基本没有影响。这一点我实测过可放心操作。绑定后先在控制台看状态是否变为已绑定再从外网测试连通性。因为EIP不落在系统网卡上云主机内部看不到公网IP配置项不熟悉的人第一次找会很困惑记住所有操作都在控制台完成即可。4.2 绑定负载均衡和NAT网关的差异多机集群场景EIP一般绑给负载均衡SLB不绑具体某台机器。这样架构上就变成了EIP → SLB → 多台后端云主机后端机器全部保持私网通信前端入口统一由SLB扛着。好处是后端任意一台机器宕机负载均衡会自动剔除节点公网入口地址始终不变用户访问稳定性大幅提升。另外移动云支持把EIP绑定到NAT网关。NAT网关解决的是多台私网机器共享一个出口上网的问题。EIP在这里充当出口的公网地址内部多台机器通过SNAT规则共用一个或多个EIP去访问外部资源。反向来看如果你有一批机器需要统一对外提供服务那通常用EIP绑定SLB做负载均衡而不是每台机器都绑一个EIP。说实话一个是多人共用一扇门出去一个是把流量分发到不同房间逻辑完全不同别搞混。4.3 用EIP做故障转移手把手流程我前面说EIP最大的价值是故障转移这里给一套可以照着做的步骤。假设有两台云主机主实例A和备用实例B它们跑着相同业务。正常情况下EIP绑定A。某天A出现故障要快速恢复在EIP列表找到目标EIP点击解绑确认。解绑后EIP仍然是你的公网地址不会变。点击绑定选择备用实例B完成绑定。检查备用机B的安全组规则和系统内部防火墙确保放行了对应服务端口。从外网访问同一个EIP确认业务恢复。我自己测试时从解绑到B恢复外网访问大约在十秒上下。这个速度比传统IDC手工改IP不知道快到哪里去了。但注意一点EIP切换只是网络入口的切换如果备用实例B上的业务软件、数据库、配置文件没准备好切换上去也白搭。容灾方案的价值不在于控制台上那个按钮而在于你平时有没有把整套环境演练到位。5. 我的实测心得移动云EIP的几个隐藏细节最后这部分把我实测中遇到过的坑和容易被忽略的细节集中讲一遍。5.1 闲置的EIP也在扣钱这是最容易被忽略的。EIP解绑后如果一直不释放它会一直占用你账号下的地址配额。很多云平台对闲置的公网IP按自然天或按月收取IP资源占用费移动云也有类似机制。我见过有用户一次性创建了十几个EIP后来业务下线了两台机器解绑了EIP但忘记释放下个月账单出来吓了一跳。所以记住一条经验短期不用的EIP能释放就释放需要长期保留的也算好成本不要让它白白躺在那。5.2 带宽升降配的生效时间有讲究EIP的带宽可以随时调整但升配和降配的逻辑不太一样。升配一般实时生效适合临时应对业务高峰降配则可能受计费周期约束包年包月的实例走变更流程时退款和生效规则以页面提示为准。我的建议是如果要降配提前选业务低峰期操作并确认计费周期。对按量付费的EIP调整带宽会更灵活基本跟着计费周期走。另外业务高峰期突然降配页面提示生效中的那几秒里出口速率可能已经变了这个时机要把握好。5.3 买了EIP却不通的排查链路把最典型的EIP绑定了但业务不通的排查顺序写出来遇到问题照着走就好看EIP状态是否真的处于已绑定还是不小心解绑了。看区域EIP和目标云主机是否在同一地域跨地域绑定是不允许的。看安全组目标云主机所属安全组的入方向规则是否放行了需要的端口和协议。如果只放行了22/3389/80你自建的8080端口自然就不通。看系统防火墙Linux检查firewalld或iptablesWindows检查防火墙策略。安全组放行不等于系统内部放行。看服务监听状态登录云主机确认业务进程确实在监听对应端口。监听的是127.0.0.1还是0.0.0.0差别很大后者才能对外提供服务。最后再考虑网络链路问题比如本地运营商到移动云线路的中间路由可以用tracert从外部做基础诊断。这套链路走下来九成以上的不通都能定位。最怕的是不按顺序乱试一会儿重启云主机一会儿重绑EIP最后发现问题只是安全组少了一条规则。5.4 EIP配额与跨地域迁移的提前规划控制台上创建EIP时如果一个地域已经用完了配额可能会提示创建失败。做业务扩容时最好提前看一下配额余量不够就先提工单或在线申请。还有一点是关于地域迁移的。EIP只能绑同地域的实例如果你把业务从华东迁到华北原来的EIP是没法跟着走的需要在华北重新创建EIP再把DNS解析切过去。所以做跨地域迁移方案时不要把EIP当成可以跟着机器跑的资产来规划。最后说一个我个人的使用体会移动云EIP这东西单看概念并不复杂真正考验人的是场景判断。如果只是一台云主机长期稳定跑业务直接在创建时分配公网IP最省事但如果你的业务计划要扩容、要容灾、要灵活调整网络架构那EIP就是那个值得提前配置好的可插拔公网卡。提前想清楚自己需要哪种比四处问EIP要不要买更有用。