1.1 目标:在新加坡物理托管服务器与公有云(如AWS/Alibaba/Google Singapore)形成高可用低延迟混合架构,兼顾性能、成本与灾备。
1.2 适用场景:跨境电商、实时API、延迟敏感业务、合规需本地IP等。
1.3 输出:可复制的操作步骤、网络配置、同步与故障转移流程。
2.1 决定组件:物理机(数据库/缓存/专线出口)、云主机(弹性应用层)、公网负载均衡、VPC、BGP或IPsec VPN。
2.2 冗余与容错:至少两台机房服务器+多可用区云实例,数据库主从/多活选型(MySQL GTID或Postgres流复制)。
2.3 带宽与IP规划:预估出口带宽,划分私有子网段、NAT/弹性IP,设置ASN与公网IP池。
3.1 在机房:获取机柜、上架、安装OS(推荐Ubuntu/CentOS),设置管理IP和KVM/IPMI。
3.2 建立隧道:方案A 使用IPsec Site-to-Site VPN:在物理机网关(如pfSense)配置IKEv2与云端VPC的VPN网关(填写预共享密钥、IKE/ESP加密套件)。
3.3 或方案B 使用BGP直连:与机房或云提供商申请专线或Direct Connect,配置BGP对等(设置ASN、路由策略、MED/Local-preference)。
3.4 测试:在双方路由器上执行ping、traceroute、iperf3,确认MTU与分片(常见MTU需设置1500或1420)。
4.1 应用层负载:在云端部署弹性负载均衡(ALB/NLB)或在机房用HAProxy/Nginx做反向代理。
4.2 会话粘滞与健康检查:配置健康检查路径(/health)、超时、阈值;若需粘滞会话启用cookie或源IP粘性。
4.3 权重与故障转移:在BGP或DNS层设置权重,低TTL的DNS(比如60s)配合健康检查实现快速切换;配置灰度与权重迁移脚本(使用Route53或云DNS API)。
5.1 关系型数据库:推荐使用主库放置在机房以降低延迟,云端作只读或备库。配置MySQL GTID复制:在my.cnf启用gtid_mode=ON、enforce_gtid_consistency=ON,执行CHANGE MASTER TO并START SLAVE。
5.2 文件/对象同步:使用rclone或ossutil同步本地文件到云对象存储,设置cron定时增量同步(--checksum或--size-only视场景)。
5.3 同步策略:实时重要数据用异步复制并监控延迟;关键写入可采用双写(谨慎)或应用层冲突解决;定期全量校验(校验和对比)。
6.1 网络层:限制安全组/防火墙规则,仅开放必需端口(SSH非默认端口并限制来源),启用NAT网关与端口映射。
6.2 认证与密钥管理:使用Jump server+MFA,私钥加密存放在Vault或KMS;VPN密钥与证书定期轮换。
6.3 日志与审计:集中日志到ELK或云日志服务,配置审计策略与SIEM告警,保存周期满足合规要求。
7.1 基础设施即代码:用Terraform管理VPC、子网、路由、云网关;用Ansible批量配置机房服务器(用户、包、时区、NTP)。示例:ansible-playbook site.yml -i inventory。
7.2 监控告警:部署Prometheus+Grafana或云监控Agent,采集网络流量、磁盘IO、DB延迟,设置Prometheus Alertmanager并配置邮件、Slack告警。
7.3 运行书:编写Runbook(故障切换步骤、回滚步骤、联系人列表),并在每次变更后演练。
8.1 备份策略:数据库每天全量、每小时增量,保留策略30/90/365;使用云快照和异地备份。
8.2 容灾演练:开启只读云备库,模拟主库不可用后手动或自动提升(切换VIP/修改DNS或更新BGP路由),记录RTO/RPO并优化。
8.3 验证:每月执行恢复演练(从备份恢复到临时实例),测量耗时并修正文档。
9.1 准备阶段:在新加坡机房部署两台应用、两台DB;在云端创建VPC、子网、NAT、负载均衡。
9.2 网络联通:配置IPsec隧道并在云端加入静态路由;测试业务流量通过隧道到机房DB并验证延迟。
9.3 发布与切换:将流量先分流10%到云端进行灰度,观察指标;无问题逐步增加权重并最终完成切换,关闭机房单点作临时备份。全程记录回滚命令与时间点。
答:选择依据三点:延迟与合规性(需本地IP或低延迟建议托管)、成本(长期高流量可托管节省带宽)、可维护性(云便捷弹性更好)。常见做法是核心数据库放机房、应用弹性放云实现混合。
答:步骤:1) 检查物理链路与接口状态;2) 验证路由表(ip route / bgp table);3) 确认安全组与ACL未阻断;4) 用ping/traceroute/iperf定位丢包或带宽瓶颈;5) 若是BGP,查看BGP邻居状态并检查AS路径与策略。
答:采取GTID或流复制保证二进制日志可追溯;在切换前验证延迟小于可接受RPO,使用只读云备库校验数据一致性并在切换窗口内暂停写入或使用事务队列;制定回滚计划并进行演练。