Skip to content

AWS

亚马逊云服务器代理商:S3 与 CloudFront 独立站加速及 OAC 防盗链配置教程

在刚接触亚马逊云(AWS)时,许多新手习惯直接将 EC2 实例部署在系统自带的默认 VPC 中。虽然这能让资源迅速连通网络,但在实际工程实践中,直接使用默认 VPC 往往会埋下安全隐患与架构瓶颈。

以下将分析默认 VPC 的局限性,并演示如何从零规划、搭建符合最佳实践的独立网络架构,实现开发与测试环境的逻辑隔离。

1. 风险分析:为什么必须放弃默认 VPC?

默认 VPC 的核心定位是降低入门门槛。当你创建一个 AWS 账户时,系统会在每个地域自动生成一个默认 VPC(网段通常为 172.31.0.0/16),并在每个可用区创建一个公有子网。

默认 VPC 的核心风险:

缺乏安全隔离:默认 VPC 内的所有子网均为公有子网。若不加修改地将开发、测试甚至数据库实例放入其中,资源将直接暴露在公网威胁之下,并且会默认自动分配公网 IP。

网段重叠冲突:所有账户的默认 VPC 网段均相同。如果未来需要通过 VPC Peering 或 Transit Gateway 连接多个 VPC 或本地数据中心,相同的 CIDR 网段会导致路由冲突,后期迁移成本极高。

因此,对于有长期演进需求的业务,建议采用自定义 VPC 进行精细化管理。

2. 架构规划:设计开发/测试隔离环境

合理的 CIDR 网段规划是避免未来网络冲突的关键。在划分环境时,应遵循以下原则:

选择非重叠网段:避开常见的 192.168.0.0/16 或默认的 172.31.0.0/16。例如,可为开发环境分配 10.10.0.0/16。对于多账号架构,建议结合 AWS IPAM(IP 地址管理器)集中管理 CIDR 分配。

公私分离:对外提供访问的资源(如跳板机、负载均衡器)置于公有子网;核心计算资源和数据库必须置于私有子网。

多可用区高可用:至少跨两个可用区(AZ)部署子网。

开发测试环境 VPC 网段规划参考表:

环境分类 子网名称 可用区 (AZ) IPv4 CIDR 网段 路由特性 典型部署资源
公共入口 Public-Subnet-A AZ-1a 10.10.1.0/24 关联 IGW (出入公网) NAT网关、堡垒机、ALB
公共入口 Public-Subnet-B AZ-1b 10.10.2.0/24 关联 IGW (出入公网) NAT网关、堡垒机、ALB
开发环境 Dev-Private-A AZ-1a 10.10.10.0/24 关联 NAT (仅出公网) 开发用 EC2、容器
开发环境 Dev-Private-B AZ-1b 10.10.11.0/24 关联 NAT (仅出公网) 开发用 EC2、容器
测试环境 Test-Private-A AZ-1a 10.10.20.0/24 关联 NAT (仅出公网) 测试用 EC2、数据库
测试环境 Test-Private-B AZ-1b 10.10.21.0/24 关联 NAT (仅出公网) 测试用 EC2、数据库

3. 实战步骤一:创建自定义 VPC 与子网

创建 VPC:

登录 AWS 控制台,进入 VPC 服务页面。

点击“创建 VPC”,选择“仅 VPC”(VPC only)。

命名为 DevTest-VPC,IPv4 CIDR 块输入 10.10.0.0/16。

划分子网:

在左侧导航栏选择“子网”,点击“创建子网”。

选择 DevTest-VPC。

按照规划表,依次创建公有及私有子网,并分配对应的可用区和 CIDR 网段。

4. 实战步骤二:配置网关与路由

配置 Internet 网关(IGW)

创建 Internet 网关并将其附加到 DevTest-VPC。

在公有子网关联的路由表中添加路由:目标 0.0.0.0/0,下一跳选择该 IGW。

配置 NAT 网关

私有实例通常需要拉取外部依赖(如 Docker 镜像),但不能暴露公网 IP:

在 Public-Subnet-A 中创建一个 NAT 网关,并分配弹性 IP(EIP)。注意:自 2024 年 2 月 1 日起,公共 IPv4 地址(包括 EIP)已开始计费,建议测试完成后及时释放。

为开发和测试环境的私有子网分别创建路由表。

在私有路由表中添加路由:目标 0.0.0.0/0,下一跳选择该 NAT 网关。

此时,私有子网流量将通过 NAT 网关单向访问互联网。

5. 安全与访问控制

在同一 VPC 内,默认情况下子网互通。为实现严格隔离,需结合以下手段:

安全组(Security Groups):实例级控制。为开发和测试环境创建独立安全组。在测试环境安全组中,仅允许来自特定负载均衡器的流量,拒绝来自开发环境安全组的横向访问。

网络 ACL(NACL):子网级控制。可配置规则显式拒绝 Dev-Private 与 Test-Private 网段之间的双向通信。注意:NACL 是无状态的,配置时必须同时考虑入站和出站规则,确保回程流量被正确放行,这与有状态的安全组不同。

6. 运维建议与资源清理

防重叠经验:避免在自定义 VPC 中使用 172.31.0.0/16。多账号架构建议使用 IPAM 集中管理。

资源清理:测试结束后,需按顺序删除资源以避免持续计费。先删除 NAT 网关(按时长计费)并释放 EIP,随后删除子网、路由表和 IGW,最后删除 VPC。

7. 进阶补充:VPC 终端节点(VPC Endpoints)

对于需要私有访问 AWS 服务(如 S3、ECR 拉取镜像)的场景,可以考虑使用 VPC 终端节点(Gateway Endpoint 或 Interface Endpoint),避免流量经过 NAT 网关走公网,进一步提升安全性并降低 NAT 网关流量费用。

常见问题 (FAQ):

Q1:AWS VPC 是什么,适合哪些场景,选型时要确认什么?

AWS VPC 是亚马逊云提供的逻辑隔离虚拟网络,可配置网段、子网、路由、网关和访问控制并承载云资源。它适用于从简单的单层 Web 应用到复杂的多层企业级架构等几乎所有云上资源部署场景。

选型与采购前,应先明确业务规模、性能、可用性、数据保护、网络和运维要求,再核对当前产品支持矩阵。务必对比目标地域、版本或服务层级、资源配额、依赖服务等。价格、活动、支付、可用性和渠道政策具有时效性,应以当期控制台、官方文档和可核验渠道信息为准。

Q2:为什么不建议在 AWS 默认 VPC 中部署生产或测试业务?

默认 VPC 的子网默认均为公有子网,且自动分配公网 IP,这会导致数据库等敏感资源直接暴露。此外,所有账户默认网段相同,未来进行跨 VPC 互联时极易发生 CIDR 冲突。

Q3:如何在 AWS VPC 中隔离开发和测试环境?

通常有两种路径:一是单 VPC 多子网隔离,通过网络 ACL(NACL)显式拒绝不同环境子网间的访问;二是多 VPC 隔离,为开发和测试环境分别创建独立的 VPC,实现物理级别的逻辑隔离,安全性与可维护性更高。对于大规模多 VPC 场景,推荐使用 Transit Gateway 作为集中网络枢纽,避免 VPC Peering 的全网状复杂度。

作者:翼龙云/Yilongcloud

文章标签