EC2网络配置从入门到精通:VPC、子网与安全组,这一次彻底搞懂

标签: 亚马逊服务器、亚马逊服务器账户、亚马逊服务器开通、服务器购买

如果你问我,AWS上最让新手感到困惑的是什么?我的答案不会是EC2实例类型,而是网络。VPC、子网、路由表、互联网网关、NAT网关、安全组、网络ACL……这些名词像一道无形的玻璃墙,把很多人挡在了架构设计的门外。但网络又是地基,地基不牢,上面盖再多实例也白搭。今天,我尝试用最生活化的语言,结合实战表格,把EC2网络配置中你最需要知道的60%讲清楚,剩下的40%,你可以在实践中慢慢体会。

从房子和小区理解VPC和子网

虚拟私有云(VPC)可以理解成你在云上买下的一块封闭式小区。小区的围墙就是VPC的边界,默认没有人能随便进出。在这个小区里,你可以划分成几个“区块”,这就是子网(Subnet)。子网有不同的类型:带大门直接通向外网的叫“公有子网”,只能内部走动不能自己走出去的叫“私有子网”。

我们为什么要区分公有和私有?因为安全。你可以把数据库、缓存、应用后端这些不需要直接面向互联网的服务放在私有子网,只有Web服务器这种需要接待客人的角色放在公有子网。这种物理隔离,从网络层面杜绝了大量攻击。

下表列出了规划VPC时你需要做出的几个核心决策,每一项我都附上了常规建议:

规划项

常见选项

建议值

原因

VPC CIDR块

10.0.0.0/16, 172.31.0.0/16等

10.0.0.0/16

足够大,65536个IP,可划分多个子网

可用区数量

1个或2个及以上

至少2个

高可用需要跨可用区部署,一个AZ挂了另一个还能顶

公有子网设计

每个AZ一个

10.0.1.0/24, 10.0.2.0/24

一个子网只在一个AZ内,跨AZ需要两个子网

私有子网设计

每个AZ一个

10.0.10.0/24, 10.0.20.0/24

数据库、缓存等置于此,没有直接互联网通路

NAT网关

每个公有子网一个或共享

每个公有子网一个,用于对应私有子网出站

让私有子网内的服务能更新补丁,但不直接暴露入站

互联网网关

每个VPC一个

必须附加在VPC上

这是公有子网的“小区大门”,没它不通外网

安全组

每台实例可关联多个

最小权限原则,仅开放必要端口

有状态防火墙,允许入站即自动允许返回流量

一次典型的亚马逊服务器开通网络实操

现在,我们一起动手创建一个符合最佳实践的VPC网络环境,并在其中启动一台Web服务器和一台私有数据库。

步骤一:创建VPC。 在VPC控制台选择“您的VPC”,输入名称如“prod-vpc”,IPv4 CIDR块设为10.0.0.0/16。其余默认,点击创建。

步骤二:创建子网。 创建四个子网,分别命名为“pub-sub-az1”(10.0.1.0/24,可用区A)、“pub-sub-az2”(10.0.2.0/24,可用区B),以及“priv-sub-az1”(10.0.10.0/24,可用区A)、“priv-sub-az2”(10.0.20.0/24,可用区B)。公有子网未来用于放负载均衡和Web服务器,私有子网放数据库。

步骤三:创建并附加互联网网关。 命名为“prod-igw”,附加到刚才的VPC上。这是通往互联网的出口。

步骤四:配置路由表。 默认的主路由表通常是私有的,我们先不动。创建一个新的路由表,命名“pub-rt”,关联两个公有子网。在路由中添加一条0.0.0.0/0指向互联网网关。这样公有子网里的实例只要拥有公有IP,就可以上网。私有子网路由表则保持只有本地路由,之后可以添加NAT网关。

步骤五:创建安全组。 我们创建两个安全组:一个叫“web-sg”,允许80和443端口来自所有IP,允许22端口只来自你的办公IP;另一个叫“db-sg”,允许3306端口(MySQL)只来自“web-sg”的源。这样数据库就只接受来自Web服务器的连接,安全组链条把流量掐得死死的。

步骤六:启动实例并指定网络。 在EC2启动向导中,选择VPC为你创建的“prod-vpc”,子网选择公有子网,并启用“自动分配公有IP”。安全组选“web-sg”。创建数据库实例(如RDS)时,选择VPC和私有子网,安全组选“db-sg”。整个网络逻辑就完整了。

当你完成这些后,再回头看服务器购买仅仅是开始”这句话,会有更深的理解。服务器的真正战斗力,很大程度来源于它被放置的网络架构。有不少人做亚马逊服务器充值很勤快,却从不看VPC规划,这就像买了一辆跑车却只在小区内部路开,发挥不出性能。

一个排查案例:为什么服务器连不上外网?

曾经有个同事在迁移服务时,将一台原本在公有子网的服务器改成了私有子网,没有配NAT网关。然后他执行yum update,总是超时。排查了防火墙、安全组,都没问题。最后从子网的路由表顺藤摸瓜,发现私有子网的路由表里没有任何指向外部的路由。补上一个NAT网关并添加到路由表后,问题立即解决。这个小故事说明,网络问题往往不在服务器本身,而在路径。

这套VPC和子网的设计模式,是你日后进行任何高级架构(如ECS容器集群、堡垒机部署)的基石。虽然首次建立花费一些时间,但一旦模板化,以后每次亚马逊服务器开通都可以复用,做到又快又规范。

如果需要更深入咨询了解可以联系全球代理上TG:@jinniuge  他们在云平台领域有更专业的知识和建议,他们有国际阿里云,国际腾讯云,国际华为云,aws亚马逊,谷歌云一级代理的渠道,客服1V1服务,支持免实名、免备案、免绑卡。开通即享专属VIP优惠、充值秒到账、官网下单享双重售后支持。不懂找他们就对了。