1. 需求评估与前期准备
- 目标:明确需多少香港公网IP、带宽、容灾RPO/RTO。
- 供应商选择:优先选香港本地IDC或在港有机柜/云节点的厂商(例如阿里云香港、AWS HK、腾讯云香港、HK独立IDC)。确认IP是否为"本地/原生IP"(非CN/内地回流)。
- 文档与审批:准备ASN申请(若打算做BGP/Anycast)、业务白名单资料和合约。
2. 获取香港原生IP与网络连通性
- 方案A(简单):在香港云或IDC申请弹性公网IP(EIP)或机房公网IP。
- 方案B(企业级Anycast/BGP):通过APNIC/本地ISP申请PI段或与多家ISP签约并获取BGP对等,需企业ASN。
- 验证:获取IP后在本地和海外用traceroute/ping核验是否从香港出口,确认延迟与路由。
3. 机房与网络架构设计
- 多活机房:至少2个不同香港IDC或不同上游ISP;每个机房部署至少2台前端负载节点。
- IP规划:每个节点绑定专用公网IP,配置虚拟IP(VIP)用于同机房内HA,DNS采用GSLB/健康检查。
- 防火墙:设计安全组、ACL,仅开放业务所需端口并启用WAF/IPS。
4. 同机房内高可用(VRRP + keepalived)详细步骤
- 环境:两台或多台Linux(Ubuntu/CentOS)。安装keepalived与arp工具。
- 系统调优(示例命令):sysctl -w net.ipv4.ip_forward=1; sysctl -w net.ipv4.conf.all.arp_ignore=1; sysctl -w net.ipv4.conf.all.arp_announce=2。
- keepalived最小配置示例(/etc/keepalived/keepalived.conf):
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
authentication { auth_type PASS; auth_pass yourpass }
virtual_ipaddress { 203.0.113.10 }
}
- 启动并测试:systemctl enable --now keepalived;在主备切换时观察VIP漂移与业务连通性。
5. 负载均衡软件层实现(HAProxy/Nginx)
- 选择:TCP/HTTP层使用HAProxy,提供健康检查、权重、会话保持。
- HAProxy示例(/etc/haproxy/haproxy.cfg)关键片段:
frontend fe_http
bind *:80
default_backend be_http
backend be_http
balance roundrobin
server app1 10.0.0.11:80 check
server app2 10.0.0.12:80 check
- TLS:在负载层终止SSL或透传到后端,使用Let’s Encrypt或企业CA,配置OCSP stapling与HTTP/2。
6. 跨机房流量调度(GSLB / DNS策略)
- 使用第三方GSLB(如NS1、云厂商的全局负载、Cloudflare Load Balancing),配置健康探测和权重。
- DNS设置:低TTL(如60s)+健康检查自动切换;或用GeoDNS将用户导向最近的香港节点。
- 故障演练:模拟机房宕机,验证DNS切换延迟与用户体验。
7. Anycast+BGP高可用(进阶)实施步骤
- 前提:拥有PI段或可由上游承载的IP段、企业ASN或通过服务商委托公告。
- 路由器/虚拟路由器:在各机房部署FRR或路由器与上游建立BGP session。FRR配置示例:
router bgp 65001
neighbor 203.0.113.1 remote-as 12345
network 198.51.100.0/24
- 优点:全网单一IP,全球路由最快;缺点:成本/复杂度高,需与ISP协作。
8. 监控、自动化与运维要点
- 监控:Prometheus+Grafana采集HAProxy/keepalived/FRR状态与延迟;配置告警策略。
- 自动化:使用Ansible/Terraform管理配置与多机房部署,CI/CD发布灰度策略。
- 日志与审计:集中日志(ELK/EFK),定期演练切换,制定SOP与回滚流程。
9. 常见故障与排查要点
- VIP不漂移:检查arp_ignore/arp_announce、接口名错误、keepalived日志。
- 会话丢失/不均衡:确认haproxy后端健康检查、权重设置与粘性配置。
- BGP不可达:查看BGP会话、AS号、路由策略与上游过滤规则。
10. 问:为什么要在香港使用本地原生IP而非内地回流IP?
我们建议使用
香港原生IP以降低国际出口延迟、避免国内运营商的回流策略导致的不稳定和封禁风险,特别是金融、跨境电商与低延迟应用场景。
11. 答:如何快速验证获得的IP是否为香港原生?
使用traceroute/tracepath从内外两个地点分别测试路由路径,观察第一跳是否在香港ISP,并结合whois查询IP归属与路由起点来判断是否为原生香港出口。
12. 问:成本与复杂度如何权衡,企业是否必须做BGP Anycast?
对大多数企业,先用多机房+GSLB+健康检查已能满足高可用需求,成本较低。只有对全网单一IP和最优路由有严格需求且具备运维能力时,才建议做BGP/Anycast。
来源:企业级部署搭建香港原生IP的高可用方案与负载均衡实现方式