10.一篇完全掌握AWS网络技术

2025-04-04T14:21:29+08:00 | 7分钟阅读 | 更新于 2025-04-04T14:21:29+08:00

Macro Zhao

10.一篇完全掌握AWS网络技术

推荐超级课程:

@TOC

开篇

在构建云环境系统时,网络设计是最重要的基础。虽然传统本地环境和AWS环境基于相同的网络概念,但构建和管理方式大相径庭。本文通过与传统环境的比较,总结了AWS网络配置的全貌和主要构成要素。

为何需要理解AWS网络

在云上,即使没有物理设备和布线,所有系统也通过“看不见的网络”相连。
理解AWS网络可以降低以下风险:

  • 仅允许最低限度的通信,减少外部非法访问
  • 排除不必要的通信和配置,降低通信成本
  • 合理设计通信路径,减少连接错误和超时等故障

由于云网络与传统环境的机制不同,掌握基本知识至关重要。

比较本地环境与AWS网络

以下总结了本地环境与AWS环境网络构成要素的对应关系:

1. 路由器/防火墙 ⇔ 互联网网关

连接互联网和网络的大门。

2.VLAN(虚拟LAN)⇔ 子网

根据目的划分网络,以便整理和管理不同类型的服务器或功能。可以为每个段设置不同的通信规则和访问权限。

3. NAT路由器 ⇔ NAT网关

使内部网络能够访问互联网,但不会被外部直接访问。

4. 服务器防火墙 ⇔ 安全组

仅允许特定通信,防止非法访问。

接下来,比较本地环境与AWS云环境的特征。

本地环境

  • 需要物理网络设备、服务器的布置和物理电缆连接
  • 需要购买、安装和维护设备

AWS云环境

  • 仅用一台PC即可构建虚拟网络
  • 无需物理设备和管理

总的来说,本地环境是“由物理设备构成的网络”,AWS云环境是“使用GUI或IaC工具定义和更改的虚拟网络”。

AWS网络配置全貌

AWS网络以VPC(虚拟私有云)为中心构建。
AWS网络配置就像家的设计图。

  • 家整体 = VPC
  • 大门 = 互联网网关
  • 大门上的门牌 = 弹性IP
  • 通向大门的暗道 = NAT网关
  • 房间 = 子网
    • 客厅 = 公共子网
    • 自己的房间 = 私有子网
  • 后门 = VPC端点(接口型)
  • 围墙 = 网络ACL
  • 家的墙壁 = 安全组
  • 通向阁楼的折叠梯 = 踏板服务器
    ※使用者和使用时机有限,并非始终开放

各网络构成要素

VPC

与AWS账户关联的专用虚拟网络空间。
并非一开始就与互联网连接,而是作为“隔离空间”运行,可以自行决定通信规则和配置。在VPC中设定IP地址范围(10.0.0.0/16),设计互联网网关、子网、路由表等网络配置,通过安全组和网络ACL进行通信控制。

子网(Subnet)

子网是用于分割和管理VPC内虚拟网络的更小网络单位。使用子网可以将外部可访问的服务器(Web服务器)和内部使用的服务器(数据库服务器)分开部署。

子网只能属于一个可用区(AZ)。
AZ是物理上分类的数据中心群。
如果子网跨越多个AZ,一旦某个AZ发生故障,
(注:原文在此处突然中断,可能还有后续内容未提供。)如果整个子网都在同一个可用区,那么整个子网可能会受到影响。
也就是说,子网必须限定在一个AZ内,不能跨越多个AZ
这是其规格要求。

子网分为两种:

  • 公共子网

    • 通过IGW可以直接从互联网访问的子网
    • 部署需要对外公开的Web服务器等
  • 私有子网

    • 不通过IGW,无法直接从互联网访问的子网
    • 部署仅在内部通信的应用程序服务器、数据库服务器等资源

互联网网关(IGW:Internet Gateway)

是连接VPC内资源与互联网的虚拟出入口。
通过将这个网关附加到VPC上,并在路由表中指定路由,公共子网中的资源就可以与互联网通信。

  1. 将IGW附加到VPC
  2. 将公共子网所属资源的路由表设置为0.0.0.0/0 ⇒ IGW
  3. 在安全组中设置入站/出站许可

这样,VPC内的资源就可以首次与互联网通信。

弹性IP (EIP)

Elastic IP是AWS提供的静态公共IP地址。即使实例重启或更换,IP地址也不会改变,可以始终使用相同的IP地址进行访问。可以分配给通过IGW与外部通信的资源。Elastic IP可以立即更换到其他实例,而无需等待DNS更改,因此有助于确保高可用性和故障应对。但是,即使未使用也会产生费用,因此建议避免不必要的EIP分配,只在需要时使用。

NAT网关(NAT:Network Address Translation Gateway)

NAT网关是使VPC内私有子网能够访问互联网的中继角色。通过NAT网关,可以实现内部资源访问互联网的“单向通信”。由于外部无法直接访问,因此在保持安全的同时可以利用外部服务或进行软件更新。

路由表(Route Table)

路由表是通信路径的信息和规则。
它承担着决定VPC内通信“去往何处”“如何到达”的地图角色。
每个子网都关联着一个路由表,指定该子网出站通信的目的地和使用的路由(网关)。在这里控制该子网出站通信是内部通信还是外部通信。

路由表示例如下:

目的地(Destination)目标(Target)说明
10.0.0.0/16local同VPC内的通信在VPC内部路由
0.0.0.0/0igw-xxxxxxxx到互联网的通信通过IGW

VPC端点

VPC端点是一种无需经过互联网,即可从VPC内安全访问S3或DynamoDB等AWS服务的机制。由于无需使用互联网网关或NAT网关,通信在VPC内完成,因此有助于提高安全性和降低成本。

VPC端点分为两种:

  • 网关型VPC端点
    • 用于需要存储/检索数据的情况
    • 仅访问S3、DynamoDB
    • 通过路由表控制
  • 接口型VPC端点
    • 用于需要与各种服务进行私有连接的情况
    • 在VPC内创建ENI(Elastic Network Interface)=虚拟网络卡进行通信

安全组(SG:Security Group)

安全组是针对EC2实例、RDS等资源的实例级别防火墙。安全组是有状态的机制,允许外部通信时,自动允许返回通信(响应)。也就是说,允许单向通信后,双向通信也成为可能,这是有状态的特点,即记住通信状态(连接相关性)

  • 可以详细设置允许的通信协议(例如:SSH、HTTP、HTTPS)
  • 允许的端口号码(例如:22、80、443)
  • 允许的访问来源(发送方IP地址)

等条件。

无法设置拒绝规则!
安全组只能定义允许的通信,
未定义的通信都会被阻断。

网络ACL(Network Access Control List)

网络ACL是子网级别控制通信的防火墙。统一控制属于一个子网的所有实例的通信。网络ACL是无状态的机制,不记住通信状态,因此需要明确允许外部通信和返回通信。例如,不仅需要允许Web服务器的HTTP请求(接收),还需要单独允许其响应(发送)。

  • 可以设置允许或拒绝的通信协议(例如:SSH、HTTP、HTTPS)
  • 允许或拒绝的端口号码(例如:22、80、443)
  • 允许或拒绝的访问来源(发送方IP地址)

等条件。

可以设置允许和拒绝的规则!
也可以明确阻塞特定IP地址的访问。
每个规则都有编号,按编号从小到大评估,首先匹配的规则将被应用。之后的规则不再评估。初始状态下,通常设置为允许所有通信,在实际操作中,除非需要复杂的控制,否则网络ACL通常保持默认设置。### AWS WAF(Web应用防火墙)

AWS WAF是一种保护资源免受SQL注入、XSS等Web应用程序攻击的防火墙。AWS WAF不控制网络层(Layer 3)或传输层(Layer 4)的通信,仅针对应用层(Layer 7)的HTTP/HTTPS通信。也就是说,它不能用于VPC内的通信控制。它仅是针对Web应用的防火墙。因此,在AWS的网络安全措施中,需要明确区分使用安全组和网络ACL等服务。

以下是不同层级的角色定位图:

跳板服务器(Bastion)

跳板实例是用于安全访问私有子网内资源的中继点EC2实例。通常部署在公共子网中,通过限制SSH或RDP连接到特定管理员IP,防止直接访问内部资源,从而提高安全性。现在,使用AWS Systems Manager(SSM)可以实现无需跳板服务器的安全连接,这种方式正在成为主流。

总结

AWS的网络配置需要与本地环境不同的思考方式。
理解基本配置后,可以构建安全且高效的云环境。

© 2011 - 2025 Macro Zhao的分享站

关于我

如遇到加载502错误,请尝试刷新😄

Hi,欢迎访问 Macro Zhao 的博客。Macro Zhao(或 Macro)是我在互联网上经常使用的名字。

我是一个热衷于技术探索和分享的IT工程师,在这里我会记录分享一些关于技术、工作和生活上的事情。

我的CSDN博客:
https://macro-zhao.blog.csdn.net/

欢迎你通过评论或者邮件与我交流。
Mail Me

推荐好玩(You'll Like)
  • AI 动·画
    • 这是一款有趣·免费的能让您画的画中的角色动起来的AI工具。
    • 支持几十种动作生成。
我的项目(My Projects)
  • 爱学习网

  • 小乙日语App

    • 这是一个帮助日语学习者学习日语的App。
      (当然初衷也是为了自用😄)
    • 界面干净,简洁,漂亮!
    • 其中包含 N1 + N2 的全部单词和语法。
    • 不需注册,更不需要订阅!完全免费!
  • 小乙日文阅读器

    • 词汇不够?照样能读日语名著!
    • 越读积累越多,积跬步致千里!
    • 哪里不会点哪里!妈妈再也不担心我读不了原版读物了!
赞助我(Sponsor Me)

如果你喜欢我的作品或者发现它们对你有所帮助,可以考虑给我买一杯咖啡 ☕️。这将激励我在未来创作和分享更多的项目和技术。🦾

👉 请我喝一杯咖啡

If you like my works or find them helpful, please consider buying me a cup of coffee ☕️. It inspires me to create and share more projects in the future. 🦾

👉 Buy me a coffee