LabHub
学习 学习路径 课程

云网络设计

并不存在「公有子网」这个属性

在 LabHub 中继续学习

一句话总结

子网中不存在名为“公共”的设置。在路由表中 如果有通往互联网网关的基本路径是公共的,如果没有的话 是私人的。仅此而已。

概念图: 所有4个条件都符合 · 公认IP · 尽量减少在网上直接接触的东西。 · 一个AZ内

为什么需要这个?

为了回答“放在公共子网里,但是不能上网”的问题,需要知道这个事实。 应该知道。名字public-subnet-a因为是罗写的,所以不会成为公众。

要让实例上网,必须所有4个条件都符合

  1. 在子网的路由表中0.0.0.0/0 → igw-xxx
  2. 实例上附有公认IP
  3. 允许安全组的出站
  4. 网络ACL允许入站和出站两方面

任何一个都不可以缺失。而且症状全部都像“不行”一样。 需要养成按顺序确认的习惯。

标准3层布局

VPC 10.0.0.0/16
├─ 퍼블릭 서브넷   10.0.0.0/24,  10.0.1.0/24    (AZ-a, AZ-b)
│   └ 로드밸런서, NAT 게이트웨이, 배스천
├─ 앱 서브넷       10.0.16.0/20, 10.0.32.0/20
│   └ 애플리케이션 서버 — 공인 IP 없음
└─ 데이터 서브넷   10.0.48.0/24, 10.0.49.0/24
    └ DB — 인터넷으로 나가는 경로 자체가 없음

原则只有一条——尽量减少在网上直接接触的东西。 只把路平衡器放在前面,把其余的东西全部藏在后面。

把子网大小设置得不同也是有意的。在公共网路上不放几个, 应用层级通过自动缩放大幅增加。

每个AZ单独创建子网的原因

子网只存在于一个AZ内。不能覆盖多个AZ。 因此,要进行多重AZ配置,每个层次都需要与AZ数量相同的子网。 3层×2 AZ=至少有6个子网。

读路由表的方法

목적지            대상
10.0.0.0/16      local          ← VPC 내부. 지울 수 없다
0.0.0.0/0        igw-abc123     ← 나머지 전부 인터넷으로

最具体的路径胜出(longest prefix match).10.0.0.0/16/16所以0.0.0.0/0因为更具体,所以VPC内部通信通过互联网出去。 不。知道这个规则,也可以解释为什么本地连接会那样工作。

私人子网的出站

虽然DB不能暴露在网上,但必须接受软件包更新。 所以写NAT网关。

프라이빗 라우팅 테이블
0.0.0.0/0  →  nat-xyz   (퍼블릭 서브넷에 있는 NAT)

NAT只允许发送。不能在外面先开始连接。 这种不对称是私人子网的核心。

注意——NAT网关附带每小时费用+处理数据费用。 如果在私人子网上继续下载大容量,在这里会花费很多费用。 在下一个课程中再次讨论。

无法连接时看的顺序

1. 보안그룹      — 가장 흔하다. 인바운드 규칙 확인
2. 라우팅 테이블 — 그 목적지로 가는 경로가 있나
3. NACL          — 서브넷 수준. 아웃바운드도 확인(상태 비저장이라 양방향 필요)
4. 공인 IP       — 퍼블릭 접근이면 붙어 있나
5. 대상 자체     — 프로세스가 그 포트에서 듣고 있나

按照这个顺序来看,大部分在3个步骤内就会出现原因。

决定替补时很难改变的决定

分网以后很难修复。VPC的带宽可以在创建后减少。 没有,子网如果里面有资源就不能删除。最初30分钟确定的东西是几年 去。

**如果与他人的网络重叠,从那时起就会产生绕行费用。**内部网络、其他团队的VPC、 收购公司的网络,通过VPN连接的合作伙伴——如果与总有一天要联系的对象重叠的话 即使是配对也不能使用VPN。RFC 1918 很广泛,所以避免常见的位置: 10.0.0.0/16192.168.0.0/24是任何人都先选择的大幅度。

**网络分区要大。**IP是免费的,不足的是昂贵。/24(约250个) 开始后,在每个Pad上连接使用IP的容器网络的那一刻,就会崩溃。 云每 subnet 预约五个也是计算在内。

用途 推荐 理由
VPC /16 虽然以后可以扩大,但是很麻烦。
公共子网 /24 只进入路由平衡器和NAT程度
私人子网 /20异常 PAD·任务吃IP
数据子网 /24 实例数量少

**每AZ分一次,但定期分一次。**决定以使用AZ来表示第三个四重奏的方式。 两张,只要看地址就知道在哪里。如果没有规则的话,几个月后每次读到路由表时 找到文件。

**无法连接时看的顺序总是一样的。**越往下越少。

  1. 安全组——因为会记住状态,所以回来的路上不用打开。
  2. 网络ACL - 因为不记住状态,所以需要打开响应用的临时端口范围
  3. 路由表 — 这个子网有通往目标地的路径吗?
  4. 对象的状态——你真的在听那个端口吗?
  5. 目标方OS防火墙

把1号和2号搞混是最常见的事故。在ACL中只打开入站,不打开出站。 1024-65535不打开的话,请求会进入,但无法发出响应。症状是“连接成功了 说了很多话”,很难找到原因。

在现场相遇的样子

下次要看的

安全组和NACL——虽然名字相似,但工作方式根本不同。