1.
准备与规划(前提与账号)
- 确认云服务商与可用区位于新加坡(例如 ap-southeast-1 等),并准备好账号和 API/CLI 凭证。
- 列出要部署的实例类型、是否需要公网IP、是否需要负载均衡、是否需要私有数据库。
- 输出一个简单拓扑草图:公网子网(跳板机/LB) + 私有子网(应用/数据库) + NAT 网关。
2.
创建 VPC 与子网(网络隔离)
- 在控制台或使用 CLI 创建一个 VPC,指定合适的 CIDR(建议 10.0.0.0/16)。
- 在 VPC 内创建两个子网:公网子网(例如 10.0.1.0/24)和私有子网(例如 10.0.2.0/24),并选择新加坡可用区。
- 为公网子网关联 Internet Gateway(IGW),私有子网不直接绑定 IGW。
3.
路由表与 NAT(出网策略)
- 创建路由表 A(关联公网子网),添加 0.0.0.0/0 -> Internet Gateway。
- 创建路由表 B(关联私有子网),添加 0.0.0.0/0 -> NAT 网关(部署在公网子网)。
- 部署 NAT 网关或 NAT 实例,确保私有实例能访问外网(系统更新、拉取镜像)但没有公网入站。
4.
安全组(Security Group)设计原则
- 安全组按功能分:Bastion-SG、Web-SG、App-SG、DB-SG,各自最小权限原则。
- 只允许必要端口:SSH(22) 仅对 Bastion-SG 或指定公网IP开放;HTTP(80)/HTTPS(443) 对外开放到 Web-SG;App-SG 仅接受来自 Web-SG 的特定端口;DB-SG 仅接受来自 App-SG 的 3306/5432 等端口。
5.
安全组具体规则示例(操作步骤)
- 创建 Bastion-SG:入站规则:来源为你的固定办公 IP,协议 TCP 端口 22;出站:全部允许。
- 创建 Web-SG:入站规则:0.0.0.0/0 TCP 80、443;出站规则:允许到 App-SG 的 8080/TCP。
- 创建 DB-SG:入站规则:来源为 App-SG 的私有CIDR 或安全组 ID,端口 3306(MySQL)或 5432(Postgres);拒绝公网访问。
6.
堡垒主机与访问流程(实践)
- 将堡垒机部署在公网子网并绑定 Bastion-SG,关闭密码登录只用密钥对。
- 使用 SSH Agent 或端口转发从本地通过堡垒访问私有实例:ssh -A bastion; 或使用 ProxyCommand/ProxyJump。
- 配置堡垒机日志审计(开启 login/logwatch 或云厂商的 Session Manager)以便追踪操作。
7.
负载均衡与健康检查(高可用)
- 如果有多台 Web 服务器,部署负载均衡器(ALB/NLB),将其放在公网子网并监听 80/443。
- 在负载均衡器上配置健康检查(/health 或 TCP 端口),仅当实例健康时才转发流量。
- 确保健康检查的来源 IP 被 Web-SG 接受(允许 LB 健康检查源或设置源为安全组)。
8.
日志、监控与安全加固(上线前必做)
- 启用安全组与网络流日志(Flow Logs)到日志服务或对象存储,便于事后审计。
- 部署基础监控(CPU、内存、端口可用性)并设置告警(异常流量、拒绝访问急增)。
- 关闭不必要端口、强制私钥登录、定期旋转密钥、启用入侵检测/防火墙规则(如 WAF)。
9.
测试与故障排查(命令与方法)
- 从公网测试:curl -I http(s)://你的域名 或 telnet ip 80/443;确认负载均衡转发正确。
- 从堡垒机测试到私有实例:ssh 内网IP;用 curl localhost:8080 或 netstat -tunlp 检查服务监听。
- 若连不上:检查安全组入出站、路由表、子网关联、NAT/IGW 配置及实例防火墙(iptables/ufw)。
10.
运维最佳实践与自动化建议
- 把安全组模板化并纳入 IaC(如 Terraform),避免手工出错。
- 使用标签管理资源、设置备份策略和多 AZ 部署以提升可靠性。
- 定期演练权限回收、堡垒机登录审计和安全组规则最小化。
11.
Q1: 在新加坡部署云服务器是否需要特殊网络考虑?
答:需要考虑区域延迟、可用区冗余、以及合规性。选择新加坡区域可降低亚太访问延迟,同时应采用多可用区部署并配置跨 AZ 路由与高可用 NAT/负载均衡器来提高容灾能力。
12.
Q2: 私有子网的实例如何安全访问互联网更新软件?
答:通过在公网子网部署 NAT 网关或 NAT 实例,并将私有子网路由的默认路由指向 NAT。这样私有实例可以发起出站连接但不会暴露公网上的入站端口。
13.
Q3: 如果需要允许第三方监控访问我的实例,如何最小化风险?
答:优先使用基于密钥或代理的访问(如安装监控代理并通过私有通道推送数据),若必须开端口,限定来源 IP 或使用专用安全组,并限制权限与时长,同时监控异常连接。
来源:新加坡服务器云服务器 网络拓扑与安全组配置详尽实操教程