1.1 为什么选新加坡:对亚太用户低延迟、法规便利、离岸部署优势(若目标用户在东南亚/中国香港/马来西亚)。
1.2 推荐厂商:阿里云(ap-southeast-1)、AWS Singapore、Google Cloud SG、DigitalOcean 新加坡、Vultr/ Linode。选择时看网络出口、带宽费用、可用区与快照定价。
2.1 开发环境(Dev):1 vCPU、1–2GB 内存、20–40GB SSD,按需实例或最便宜方案即可,启用自动快照备份。
2.2 测试/预发(Staging):2–4 vCPU、4–8GB 内存、40–80GB SSD,独立 VPC、与生产同网络架构但小规模,启用负载均衡模拟。
2.3 生产环境(Prod):根据流量选择 4+ vCPU、8–32GB 内存或更高;使用多可用区部署、SSD/高IOPS 磁盘、独立数据库实例或托管 DB。
3.1 创建 SSH Key:本地执行 ssh-keygen -t ed25519 -C "your@email";把公钥上传到云平台创建密钥对。
3.2 创建实例流程:在厂商控制台选择新加坡区域 -> 选择镜像 Ubuntu 22.04 -> 选择规格 -> 指定 VPC/Subnet -> 选择 SSH Key -> 启动。
3.3 登录与基础设置:ssh ubuntu@IP,apt update && apt upgrade -y;创建非 root 用户:adduser deploy && usermod -aG sudo deploy;复制授权密钥至 /home/deploy/.ssh/authorized_keys。
4.1 VPC 与子网:为测试/生产分别创建子网,生产多可用区;使用私有子网放数据库,公有子网放负载均衡与应用层。
4.2 防火墙与安全组:只开放必要端口(SSH 仅限管理 IP 或使用跳板机;HTTP/HTTPS;数据库端口限制私网访问)。示例 UFW:ufw allow 443; ufw allow 80; ufw allow from 管理IP to any port 22; ufw enable。
4.3 磁盘与快照:扩展数据盘不要用根盘做长期存储;启用每日快照并保留策略;示例自动化用云 API 每晚触发 snapshot。
5.1 容器化:编写 Dockerfile 与 docker-compose.yml,确保环境变量通过 .env 文件注入,不把敏感信息写入仓库。
5.2 GitHub Actions 简单示例:workflow 在 push 到 main 时构建镜像并推到私有 registry,然后通过 ssh 在目标服务器拉最新镜像并重启服务(用 docker-compose pull && docker-compose up -d)。
5.3 分离环境:为 dev/test/prod 使用不同分支与不同 Secrets(如 DOCKER_REGISTRY、SSH_PRIVATE_KEY、HOST_IP)。
6.1 监控:部署 node_exporter + prometheus + grafana,配置基础告警(CPU、内存、磁盘、响应时间)。
6.2 备份策略:生产数据库每日增量备份、每周全量;保留 7/30/90 天策略;测试通过恢复演练验证备份有效性。
6.3 高可用:使用负载均衡器(云 LB)+ 多实例 + 健康检查;数据库主从或托管 DB(RDS/Cloud SQL)更容易实现故障切换。
答:采用分层网络(公有/私有子网)、限制安全组只允许必要端口、使用跳板机与加固 SSH(禁用密码登录、使用 Key、改默认端口)、部署 WAF/云防火墙、启用 TLS(Let's Encrypt 自动续签)、日志审计与入侵检测(fail2ban、OSSEC)。
答:在资源上采用缩小版实例(保留相同比例的 CPU/内存/IO),使用相同软件栈与配置(相同 OS、数据库版本、中间件),通过数据脱敏或子集数据来模拟真实负载,使用快照/镜像自动化创建环境并用临时域名隔离。
答:定期将生产快照复制到异地(同区域不同可用区或不同区域),配置冷/热备节点与 DNS 切换策略,写好恢复步骤文档并每季度进行恢复演练,验证 RTO/RPO 并根据 SLA 调整备份频率与自动化脚本。