介绍

在 AWS 上构建虚拟网络能够亚马逊 VPC是许多 AWS 服务运行的基础,非常重要且用途广泛服务。

多功能的官方文件而且网上很多文章对功能的解释都是零碎的,难以把握大局它也可以称为服务。

Amazon VPCを「これでもか!」というくらい丁寧に解説

因此,本文为了了解VPC的全貌,我们仔细解释了每个功能的连接和工作原理。,

"VPC世界百科全书(这只是一个例子……哈哈)

Amazon VPCを「これでもか!」というくらい丁寧に解説

我想以一篇文章为目标。

什么是 VPC

“Virtual Private Cloud”的缩写,它在云端构建虚拟网络这是一项服务

例如,假设您已经构建了以下网络,以便在本地环境中运行 Web 应用程序(三层架构)和内部系统。

Amazon VPCを「これでもか!」というくらい丁寧に解説

这个用 VPC 上的虚拟网络替代然后,它将如下(*官方文档的结构在这里是一个例子参考)

Amazon VPCを「これでもか!」というくらい丁寧に解説

正如你在上面看到的,本地网络建设和设计理念相似部分(例如 DMZ 和公共子网对应)和不同的部分(例如AWS有S3、Route53等VPC网络之外的服务),为了构建一个安全、高性能的系统,需要对VPC的独特功能有广泛的了解。

注意,安装在 VPC 中服务于存在于 VPC 之外服务清单以下文章很有帮助。


VPC 的好处

许多 AWS 服务可以单独通信而无需构建网络,但使用这种方法,通信路径是随机确定的,难以控制安全性和性能。
反对这个使用 VPC通过这样做,您可以获得以下好处:

  • 通过缩小通信路径并执行监控和访问控制,提高安全性
  • 通过显式控制通信路径并使用负载平衡器进行横向扩展,保证性能能够
  • 通过明确保护多个通信路径,提高可用性可以让
  • 通过组织和集中管理系统中的服务,提高可操作性和可维护性可以让
  • 通过与 IaC 服务相结合,改善迁移可以让

总结这些项目:使用 VPC但”非功能性需求抵押品(稍后描述)。

VPC 的作用

在系统应用开发中,网络设计基于以下几点非功能性需求(*国际音标的定义) 在满足方面起着重要作用

1. 可用性→ 随时提供服务且不会中断
2. 性能和可扩展性→ 确保必要的速度,即使用户数量增加也可以处理
3. 可操作性和可维护性→ 能够适当地监控操作并在出现问题时做出响应
4. 迁移→ 易于迁移到新环境
5. 安全→ 防止未经授权的访问
6、系统环境与生态→ 系统安装环境及对自然环境的影响

本地网络设计的难点

本地环境为了满足上述要求,高级网络设备知识装备设备费用是必须的。
例如,为了提高可用性,在使服务器和线路冗余后,自动切换到备份的系统环境(在下图中链路聚合等) 必须执行。
Amazon VPCを「これでもか!」というくらい丁寧に解説
以上专业知识、费用、通用工程师和小型组织实现适当的非功能性要求的障碍因此,措施不充分往往会导致系统故障和安全事故。

AWS 网络设计优势

另一方面在 AWS,数据中心内置了提高可用性和安全性的措施,即使在默认状态下也能保证相当高的非功能性需求。

此外,进一步改善非功能性需求的服务准备好了,只需将它们组合起来,就可以实现高级的非功能性需求。

这消除了购买特殊设备或高级硬件知识的需要。即使对于小型组织,也易于实施适当的非功能性需求变得。

VPC将这些服务相互连接网络基础设施因此,获得正确的知识以提高可用性和安全性至关重要。

AWS 上的网络相关服务列表

供你参考,用于改善网络非功能性要求的关键 AWS 服务枚举。

服务名称 适用的非功能性要求 概述
ELB 1.可用性,
2.性能和可扩展性
负载均衡器的过载保护
云锋 1.可用性,
2.性能和可扩展性
使用 CDN 提高访问速度和防止过载
53 号公路 1.可用性,
2.性能和可扩展性,
5. 安全
通过健康检查提高可用性,通过 DNS 循环提高可扩展性,通过 DNS 防火墙提高安全性
网络防火墙 5. 安全 为子网设置访问规则
WAF 5. 安全 阻止针对 Web 应用的常见攻击模式
直接联系 5. 安全 通过专线连接提高安全性
(奖金:AWS 和环境负荷) 6、系统环境与生态 AWS 等大型云提供商使用的电力组合的碳密集度比全球平均水平低 28%。

这些服务基本上与 VPC 协同运行是一个先决条件。

从上面,AWS网络建设和非功能性需求抵押品VPC是重要的底层服务事实证明

VPC机制及主要功能

VPC的机制和主要功能在以下几项中解释。

  • 网络基础知识
  • VPC 结构
  • 战利品表
  • VPC 与外部网络服务的连接
  • VPN
  • VPC 安全功能
  • IP地址管理服务
  • VPC 和日志

网络基础知识

我想你已经知道很多了,但我将简要解释一下,因为了解 VPC 需要网络知识。

什么是 IP 地址

在表示网络层次结构的 OSI 参考模型中,在网络层用于识别通信伙伴的编号是。

等级制度 姓名 用于识别通信伙伴的信息
第七层 应用层 取决于协议
第四层 传输层 端口号
第三层 网络层 IP地址
第二层 数据链路层 MAC地址
第一层 物理层 物理连接

*第 5 层(会话层)和第 6 层(表示层)被省略,因为它们与 TCP/IP 中的应用层集成在一起。

由于网络层主要在广域通信中发挥重要作用,因此 IP 地址是Internet 和组织网络地址我认为如果你考虑一下它会更容易理解。

IP地址结构

IP地址中有32位数字表示的“IPv4”和128位数字表示的“IPv6”,但从2022年起主要使用IPv4。

IPv4 IP 地址是32 位在十进制数中,每 8 位由点分隔,如下所示。

十进制表示法 二进制符号
示例 1 192.168.1.2 11000000 10101000 00000001 00000010
示例 2 8.8.8.8 00001000 00001000 00001000 00001000

全局 IP 地址和私有 IP 地址

・全球IP地址

世界各地的独特定义将IP地址更改为全球 IP 地址“ 叫做。

全球 IP 地址用于通过 Internet 访问,字面上对应于 Internet 上的地址。

・私人IP地址

在有限的范围内仅在范围内使用且需要唯一定义的 IP 地址(范围外允许重叠)定义为“私有 IP 地址“ 叫做。

“有限范围”通常对应于一个组织,因此如果将组织内的网络与建筑物进行比较时将其视为“房间号”,可能会更容易理解。

什么样的地址是私有IP地址,什么样的地址是全局IP地址,请参考下面的“可用IP地址”。

网络部分和主机部分

IP地址是网络部什么时候主机部分可以分为

一个 32 位 IPv4 地址分为高位 x 位网络部分和低位 32 位 x 位主机部分。

十进制表示法 二进制符号
完整的 IP 地址 192.168.1.2 11000000 10101000 00000001 00000010
网络部 192.168.1 部分 11000000 10101000 00000001
主机部分 2 部分 00000010

变成。

再次,网络部分为1,主机部分为0位符号子网掩码叫。
例如,如果网络部分是 24 位,则子网掩码将是 255.255.255.011111111 11111111 11111111 00000000 二进制)。

网络部分的长度为子网掩码长度或者前缀长度它也被称为。

另外,主机部分全为 0 的地址是网络地址和用作表示子网本身的地址,这将在后面描述。

子网

具有相同网络部分的 IP 地址范围那个子网, 表示子网的地址是网络地址称呼
(子网有时简称为“网络”)

子网外访问为了需要路由因此,路由表(稍后描述)和防火墙(也将描述)的访问控制基本上是在每个子网的基础上执行的,对主机进行分组并提高安全性子网是一个重要的因素

无类域间路由 (CIDR)

通常,私有IP地址的前缀长度使用后述的A类到C类的固定值(8位、16位、24位)。
仅此一项只能使用 3 种不同的前缀长度,因此取决于主机的数量地址空间过多它最终成为一个浪费的网络。

所以,上述三种以外的前缀长度可以动态设置做好了CIDR(Classless Inter-Domain Routing,发音为“sider”)被广泛使用。

在 CIDR 中表示网络地址的符号是CIDR 符号例如192.168.1.2的网络部分为26位,则网络地址写为192.168.1.0/26

可用的 IP 地址

指定 IP 地址互联网名称与数字地址分配机构组织制定了规则,根据目的确定可以使用的地址范围。

可用作 VPC 中的私有 IP 地址是个下面的粗体地址范围仅有的。
从以下范围内确定要创建的子网的网络地址。

IP 地址范围 用法
127.0.0.0 到 127.255.255.255 环回地址(指向自身的地址)
169.254.0.0 到 169.254.255.255 链路本地地址(无需通过路由器即可访问的地址)
224.0.0.0 到 239.255.255.255 组播地址(用于按照预定规则同时传输到多个地址)
255.255.255.255 受限广播地址
10.0.0.0 到 10.255.255.255 私人地址(A类=前缀长度8bit)
172.16.0.0 到 172.31.255.255 私人地址(B 类 = 前缀长度 16 位)
192.168.0.0 到 192.168.255.255 私人地址(C 类 = 前缀长度 24 位)
上述以外 全球地址等

再次,在 AWS 中,AWS 端使用了以下主机部分使用户端是新的不能设置为主机.

主机部分 用法 网络地址为 10.0.1.0/28 时的示例
0 表示网络地址 10.0.1.0
1 VPC 路由器 10.0.1.1
2 亚马逊提供的 DNS 服务 10.0.1.2
3 AWS 保留地址 10.0.1.3
所有位都是 1 广播地址 10.0.1.15

NAT

解释 NAT 和 NAPT。

・NAT

在全局 IP 地址和私有 IP 地址之间转换一种机制NAT(网络地址解读)。

・NAT转换示例

全球 IP 地址 私有 IP 地址
A B C D 192.168.0.1
a.b.c.e 192.168.0.2

一般来说来自网络我无法访问您的私有 IP 地址。使用 NAT通过将传递到全局 IP 地址的数据包的目的地转换为私有 IP 地址,访问具有私有 IP 地址的主机能够。

・NAPT

NAT 只转换 IP 地址,转换端口和IP地址机制,国家太平洋地区条约它被称为(网络地址端口转换)。

由于大多数普通家庭只分配了一个全球 IP 地址,因此通过 NAT 从 Internet 只能访问一个私有 IP 地址。使用 NAPT通过做多个私有 IP 地址可以与一个全局 IP 地址关联因此,可以从 Internet 访问多个私有 IP 地址。

・NAPT的转换示例

全球 IP 地址 全局端口号 私有 IP 地址 专用端端口号
A B C D 80 192.168.0.1 80
A B C D 81 192.168.0.2 80

NAT 和 NAPT 通常也称为(广义)NAT。

路由

路由在子网的节点确定与其他子网的通信路径的控件
与其他子网通信需要路由因此,可以说它是多子网网络的必备技术。

定义路由规则的表路由表,它根据目标IP地址和路由表确定数据包发送到哪个子网。
这些规则基于 IP 地址。每次都一样的路线被选中“静态路由“什么时候,动态确定的路线成为动态路由” 存在,但 VPC 基本使用静态路由(使用 VPN 或中转网关时,通过BGP动态路由与本地网络合作你也可以)

・如何读取路由表

路由表是最长匹配算法根据称为的方法确定将数据包发送到何处
最长匹配算法比较你要发送的目的IP地址和路由表中的目的路由(一般是多个注册的),选择包含子网内目标地址的前缀长度最长的目标路由这是一种方法(稍后详述)。

指与所选目的地路线相同的线路,主要是界面(发送数据包的路由器端口)和下一跳(它接下来被转发到的路由器)确定将数据包发送到哪里。

例如,考虑以下本地网络。

Amazon VPCを「これでもか!」というくらい丁寧に解説

路由器 1 路由表鉴于设置为

目的地路线 界面
(发送数据包的路由器端口)
路由方法 下一跳
(下一个转发路由器)
172.31.1.0/24 0 直接连接 -
172.31.2.0/24 1 直接连接 -
172.31.3.0/24 1 静态路由 172.31.2.2
0.0.0.0/0 1 动态路由 (OSPF) 由动态路由决定

例如,如果目的地址为172.31.3.4,则子网内包含该地址的目的路由有两个候选:172.31.3.0/240.0.0.0/0。基于静态路由,数据包从接口(IF ) 1 并根据下一跳转发到172.31.2.2 的路由器 2(进一步的路由根据路由器 2 的路由表确定)

再举一个例子,如果目的地址是8.8.8.8,那么子网中包含这个地址的目的路由将被缩小到0.0.0.0/0,数据包将从IF1发送出去。在这一行中选择了动态路由,所以下一跳是路由器3还是路由4是根据路由方式(OSPF、RIP、BGP等)和路由中的故障信息动态确定的。

它很难。事实上,在本地网络中设置路由是需要高级技能的领域之一。VPC 中更简单的路由配置可以实现,使用云的好处之一变成。

・本地和 VPC 路由之间的区别

在本地网络中,作为子网之间的节点的“路由器”执行路由。
另一方面VPC称为“路由表”的服务子网(见下文)控制路由每我能做到。

有了VPC,就不用考虑路由器之间的物理位置关系或者动态路由,所以比本地更简单的路由可以达到

DHCP

DHCP(动态主机配置协议)是一种将网络相关信息传递给主机的协议。

一般给主人动态分配私有 IP 地址除此之外,还将诸如 DNS 服务器的 IP 地址和默认网关(路由器)的 IP 地址等信息传递给主机。

业务系统有一个实现DHCP功能的DHCP服务器是很常见的,即使不做也可以通过分配私有IP地址和网络通信的方式从域名(URL)访问主页,或者通过通过 DNS 进行名称解析。

同样在 VPC 中,Elastic IP 稍后介绍除非你使用盒子的DHCP功能作品,VPC内部实例的IP地址是动态分配的。(重启后IP地址改变)

请注意,名称相似的 DHCP 选项集不用于 IP 地址分配,这是 DHCP 的主要功能,而仅具有将 DNS 服务器和 NTP 服务器等信息传递给主机的功能。。

出站和入站通信

“向外”和“向内”这两个词在这篇文章中经常出现。

Outbound:从内部网络(VPC 等)到 Internet 的通信
Inward:从互联网到内部网络(VPC等)方向的通信

代表。

需要注意的是,在互联网上最常用的 TCP 通信中,通信基本上是作为如下图所示的一组请求和响应来进行的,所以基本上通信并不是只在一个方向上完成的。

Amazon VPCを「これでもか!」というくらい丁寧に解説 *图片来自维基百科

在处理这样的双向通信时,无国籍“什么时候”有状态的有两种想法。

·无国籍

一种仅通过通信方向来确定数据包是传出还是传入的方法,而不考虑该数据包是请求还是响应。无国籍叫。

・有状态

作为通信起点的请求包(SYN包)方向朝外如果所有伴随的响应数据包也都传出如何对待有状态的称呼

有状态的牙齿仅第一个请求数据包方向可以考虑,所以后面介绍的防火墙设置简单可因此,许多防火墙使用有状态配置。

防火墙和 ACL

防火墙根据特定规则限制网络上的通信描述限制通信规则的列表。ACL(访问控制列表)。

ACL 通常基于 IP 地址和端口号来限制通信,只允许在特定条件下进行通信,而拒绝其他一切。白名单(允许)“表达式和”黑名单(拒绝)”表达式存在。

另外,如上所述,沟通方向的评价分别评估通信和返回通信无国籍方法和一起评估去和返回有状态的存在一种方法。

一般安全性高白名单表达式,易于设置,易于防止错误有状态的方法常用的即使在 VPC 中采用这种方法的“安全组”推荐使用它一直。

下面是使用此方法的 ACL 示例。

・ACL 示例

允许的 IP 地址范围 允许的端口 允许的方向 (假设通讯)
0.0.0.0/0 443 向内的 (HTTPS)
192.168.0.0/24 22 向内的 (SSH)
0.0.0.0/0 80 向外 (HTTP)
0.0.0.0/0 443 向外 (HTTPS)

在上面的例子中,从任何 IP 地址入站访问端口 443,从子网 192.168.0.0/24 内的主机入站访问端口 22,端口 80 访问任何 IP 地址,以及访问端口 443 允许出站访问并阻止所有其他通讯。
(一般对外访问权限设置较宽松,允许所有对外通信的情况很多,但近年来,网络攻击服务器(C&C服务器)使用对外通信),对外通信设置限制的案例数量在增加。)

此外,防火墙往往兼作前面提到的 NAT,在这种情况下,两者都集中安装在 Internet 和专用网络之间的节点上。



专有网络结构

讲解VPC的基本结构

区域和可用区

AWS 数据中心分布在东京、弗吉尼亚和新加坡等广阔地区。地区“, 和 ”AZ”(可用区)。

VPC中的非功能性需求提升为了这按地区和 AZ 考虑物理位置非常重要因此,我将逐一解释。

·地区

表示实际存储数据的地理位置。
世界上有几十个地区,但日本最常用的地区如下。

・主要地区

地区名称 英文名 地方 特征
亚太地区(东京) ap-northeast-1 日本东京 日本国内使用的首选
亚太地区(大阪) ap-northeast-3 日本大阪府 来自西日本的通信延迟(延迟)很小,但功能有限(例如无法使用 Transfer Acceleration)
亚太地区(新加坡) ap-southeast-1 新加坡 亚洲第一地区
美国东部(弗吉尼亚北部) 我们-东-1 美国弗吉尼亚州 世界第一地区,成本低,服务丰富。来自日本的大量通信延迟

当然,不同区域之间的通信会增加延迟(RTT)和数据传输成本增加因此,基本上选择靠近需求区域的区域会为双方带来更好的便利。

・ 可用区(AZ)

一个区域实际上由多个地理上分离的数据中心组成。
实际位置未公开,但图像显示服务器分布在例如品川区和江东区。

这些单独的数据中心称为可用区,并且配置跨越多个可用区 (多可用区),与穿越区域时的方式相同提高可用性和数据丢失对策。

VPC 数最佳实践建议通过多可用区配置提高可用性,并且一开始的VPC配置示例也实现了多可用区的并行网络建设。具体的施工方法是另一篇(建设中)将解释。


VPC及其最大数量

您可以在一个 AWS 账户中创建多个 VPC,每个 VPC 必须满足以下条件:

  • VPC 是不跨越区域(需要唯一指定创建VPC的地域)
  • VPC 是跨越AZ(可以通过跨AZ实现多AZ配置)
  • 一个帐户每个区域最多可以创建 5 个 VPC(如果您申请,可以有 6 个或更多)
Amazon VPCを「これでもか!」というくらい丁寧に解説

VPC 可以使用 16 到 28 位的前缀长度,如下所示

  • 最小大小 → /28(11 个主机)
  • 最大大小 → /16(65531 个主机)

此外,在创建账户时,默认会创建以下“默认 VPC”。

・默认VPC

创建 AWS 账户时每个区域自动创建一个 VPC。
这个”默认 VPC”并分配了一个网络地址 172.31.0.0/16。
在默认 VPC 中

  • 每个可用区 1 个公共子网(弗吉尼亚北部地区共 6 个,其他地方共 3 个)
  • 1 个安全组
  • 1 个战利品表
  • 1 个互联网网关
  • 1 个网络 ACL
  • 1 个 DHCP 选项集

是预制的

VPC 和子网

您可以在 VPC 中创建多个子网,如下所示。

Amazon VPCを「これでもか!」というくらい丁寧に解説

这个VPC 和子网的层次结构在 VPC 中基本分组单位变成。

通过设置比为 VPC 设置的前缀长度短的前缀长度,可以在 VPC 中存储多个子网。

Amazon VPCを「これでもか!」というくらい丁寧に解説

通过在这个子网中安装EC2、RDS、Fargate等各种服务(实例),构建最终的VPC网络。

公共子网和私有子网

从安全的角度来看,希望尽量减少可以直接与 Internet 通信的主机数量。
实现这一点的常用方法是将网络划分为“可以直接与 Internet 通信的子网”和“不能直接与 Internet 通信的子网”。

・公共子网

可以直接与互联网通信将子网更改为“公共子网“ 叫做。
由于设置了需要从外部访问的 Web 服务器和代理服务器的特性,公共子网在上面提到的本地网络中起着类似于 DMZ 的作用。

为了从 VPC 连接到 Internet,需要连接到后面描述的 Internet 网关,所以“公共子网“=”路由到 Internet 网关的子网”也可以改写。

・私有子网

与互联网直接通信不能将子网更改为“私有子网“ 叫做。
它在前面提到的本地网络中起着类似于内部网络的作用。

不需要与 Internet 通信的实例通过安装在私有子网中,可以最大限度地减少来自外部的访问,提高整体系统安全性可以做。

私有子网中的实例基本上只在同一个 VPC 内进行通信,但您可以通过在公有子网中创建跳板服务器并按如下方式从 VPC 外部访问它。
(外部的什么如果您需要访问以下内容,请使用后面介绍的NAT网关等)

Amazon VPCを「これでもか!」というくらい丁寧に解説

战利品表

如上所述,在 VPC 中,它是“战利品表“是

路由表中的目的地指定方法

VPC 路由表基于最长匹配算法的目的地路由(在 VPC 屏幕上显示为“目的地”)选择因为它与本地路由表很常见。

另一方面,在本地路由表中,数据包的目的地是根据“接口”和“下一跳”确定的,但在 VPC 路由表中目的地服务指定
您可以将 Internet 网关、EC2 实例、Gateway Load Balancer 端点等指定为目标服务(以下实际屏幕中的“目标”),从而实现灵活的路由控制。

Amazon VPCを「これでもか!」というくらい丁寧に解説

如何为每个子网指定路由表

可以为每个子网创建一个路由表。然而,这里的重要概念是主路由表“什么时候”子网路由表“是

  • 主路由表:为每个 VPC 自动创建的路由表(可编辑)。适用于未配置子网路由表的子网做完了
  • 子网路由表:由用户创建并与子网关联的路由表

如果您想在主路由表中将路由表设置为默认状态,并为偏离此规则的子网创建自己的路由表,我认为您应该使用子网路由表(见下文)。

此外,如上所述,Internet 网关所针对的子网是公共子网。


VPC与外网服务的连接

以下功能可用于将 VPC 与 VPC 外部的网络和服务连接起来。
(常用的功能是大胆的我正在做)

*许多付费服务所以请注意价格

姓名 VPC 内的连接目标 外部连接目标 费用(链接上的价目表)
互联网网关 公共子网 互联网 出站流量计费
NAT网关 私有子网 互联网(仅限出站通信) 按使用时间+通信量计费
仅出口 Internet 网关 私有子网 互联网(仅限 IPv6 传出通信)
运营商网关 AWS Wavelength 中的子网 互联网(仅限 5G 网络) 出站流量计费
终点 整个 VPC 其他 AWS 服务 只为接口类型付费(网关类型免费)
端点服务 整个 VPC 其他账户的 AWS 服务 之后
VPC 对等互连 整个 VPC 其他 VPC 跨AZ时,按通信量计费
中转网关 整个 VPC 其他 VPC 和本地网络 按使用时间+通信量计费

种类很多,但基本上,如果您决定“内部连接目标”和“外部连接目标”,您可以缩小您应该使用的服务。

详细说明如下。

Internet网关和NAT网关

Internet 网关和 NAT 网关都用于从 VPC 内部连接到 Internet,但有以下区别。

姓名 Internet 连接目标子网 IP地址转换方法 允许的通信方向
互联网网关 公共子网 NAT 向外,向内
NAT网关 私有子网 国家太平洋地区条约 仅向外

・互联网网关

互联网网关创建公有子网时需要服务,通过互联网向外和向内双向沟通。

由于 Internet 网关将全局 IP 地址和私有 IP 地址一对一转换,NAT作为

・NAT网关

私有子网通常无法访问 Internet(除了后面描述的通过端点的 yum 命令),但有时您想访问 Internet 以更新安全补丁等。用于此类用途私有子网只允许传出通信(不允许入站)服务NAT网关

NAT 网关是一种为私有子网提供 Internet 连接的服务。NAT 网关本身安装在公共子网上将会

虽然名字很混乱,但NAT网关的作用是作为一个NAPT,在一对多的基础上转换全局IP和私有IP,包括端口,而不是上面提到的狭义的NAT。
请注意,在全球IP和私有IP之间进行一对一转换的狭义上,扮演NAT角色的是“互联网网关”。
详细信息在下面的文章中很容易理解。

再次,NAT 网关是一项相对昂贵的服务因此,在很多情况下,比如后面介绍的端点使用其他服务通常可以省钱是。下面这篇文章很容易理解如何减少使用NAT网关的频率,降低成本。

如上篇文章所述,根据配置,使用“NAT 实例”可能会节省成本。 NAT实例是一个老服务,实现和NAT网关一样的功能作为一个实例,但是在用户侧需要更多的管理工作,所以如果没有太大的价格差异,建议使用NAT网关。

仅出口 Internet 网关

专用于 IPv6 的 Internet 网关,只允许传出通信(不允许入站),它与 IPv4 中的 NAT 网关的作用相同(“Egress”代表“egress”)

详情请参考以下文章

运营商网关

AWS 波长5G 移动网络专用可用区和5G网络网络。

这也是一项新服务,所以信息很少,但文章中有以下人。

请注意,此功能在大阪地区不可用。

端点(VPC 端点)

终端节点是 VPC 中的一个实例,并且VPC 之外的 AWS 服务不通过 Internet 的连接这是一个可以通过(私人连接)进行通信的功能。

VPC 与其他 AWS 服务之间的连接也可以通过 Internet 网关或 NAT 网关实现,但使用端点在成本方面更具优势。

端点可以大致分为两种类型:

  • 接口端点VPC 内的 IP 地址分配给 AWS 服务方法(充当虚拟网卡)。由于似乎在 VPC 内完成了通信,设置简单且易于管理但要访问发生收费是(下图中Endpoint network interface等价)
Amazon VPCを「これでもか!」というくらい丁寧に解説
  • 网关端点具有全球 IP 的 AWS 服务添加路由配置的方法。由于它被视为 VPC、ACL 等之外的设备。设置有点复杂但访问是自由的.只能使用S3和DynamoDB(下图中VPC endpoint等价)
Amazon VPCを「これでもか!」というくらい丁寧に解説

从图中可以看出,要连接的 AWS 服务牙齿VPC 中用于接口终端节点的主机(IP 地址存在于子网内),在 VPC 外部托管网关终端节点可以看到被识别为(分配一个VPC外的全局IP地址并通过路由器路由)
详情见下文

另外,2021年之后AWS服务之间的通信似乎即使不使用端点也基本不会通过互联网。
因此,在技术文章中经常看到的优势,例如“通信通过互联网而不使用端点,但如果你使用它,它会变得安全而不通过互联网。”,因为有很多成本优势,将 VPC 与其他 AWS 服务连接时为了,优先于 Internet 和 NAT 网关的端点我认为这很好。

*通过网关端点从私有子网执行 yum 命令

通常需要 NAT 网关才能从私有子网访问 Internet。
使用 yum 命令更新各种软件包时也是如此。

另一方面,如果您使用 Amazon Linux 作为操作系统只要,即使没有 NAT 网关,也可以通过 S3 的网关端点运行 yum 命令你可以

这使得在没有 NAT 网关的情况下更新软件包成为可能,这往往会增加成本。降低成本请利用

端点服务

端点服务其他 AWS 账户非互联网访问 VPC 中的服务它是一个功能,提供

端点服务大致可以分为两种:

姓名 概述 价格
接口 VPC 端点 通过网络负载均衡器 (NLB) 访问 VPC 中的服务。直到最近还是唯一的选择 接口端点成本+NLB费用
网关负载均衡器端点 通过网关负载均衡器 (GWLB) 访问 VPC 中的服务。 2020 年新增服务,用于扩展和与第三方安全产品集成据说很优秀 网关负载均衡器端点+GWLB 成本

注意,”端点服务”就是前面提到的“终点“什么时候在 AWS 内的服务之间提供不通过 Internet 的安全通信从某种意义上说是很常见的统称为“PrivateLink”还有一件事。

VPC 对等互连

什么是 VPC 对等互连?连接 VPC并允许他们相互交流。
它充当连接 VPC 的电缆。

VPC 对等互连将到另一个 VPC 的路由添加到您的路由表中,因此它的行为类似于您的本地网络中的路由器。

Amazon VPCを「これでもか!」というくらい丁寧に解説 *图片来自AWS官方

要连接的 VPC 是它可以来自不同的帐户,可以在不同的地区但是,请注意,如果您在不同的地区,则无法与 IPv6 通信。

通过对等互连进行通信有一些限制,例如不允许 CIDR 块复制以及无法通过对等互连连接到 Internet 或 VPN。以下文章中的详细信息很容易理解。

中转网关

Transit Gateway 类似于 VPC 对等互连连接 VPC服务,但 VPC Peering 充当连接两个 VPC 的电缆,而 Transit Gateway径向连接 3 个或更多 VPC你可以

Amazon VPCを「これでもか!」というくらい丁寧に解説

连接多个 VPC不仅配置简单,当您想要VPN 连接(见下文)也可以添加。

然而,通信费用略高于 VPC 对等互连因此,根据成本和便利性之间的平衡来选择一种。

中转网关也有一些限制,例如无法在不同区域之间直接连接 VPC。有关详细信息,请参阅以下文章。


VPN(虚拟专用网络)

虚拟专用网络是在 VPC 和本地网络之间创建虚拟专用网络这是一项服务

VPN 通信路径实际上是在 Internet 内部创建的,隧道通过使用一种称为 的技术,您可以将两个遥远的点(在 AWS 的情况下,VPC 的网关和本地网络)视为同一个点。
这使得确保安全的通信路径因此,它通常用于内部网络。

AWS 提供两种类型的 VPN:

姓名 本地端的 VPN 连接点 隧道协议 费用(链接上的价目表)
站点到站点 VPN 在本地网络上路由器
(客户网关)
IPsec 按使用时间收费* + 通讯量
客户端 VPN 客户端电脑 SSL-VPN 按使用时间计费

* 如果您使用 Accelerated site-to-site VPN 加快速度,每小时费率将额外收费

除了VPN,用专线连接VPC和本地直接联系还有一个服务叫

站点到站点 VPN

站点到站点 VPN 是VPC一个虚拟专用网关本地网络上的路由器(客户网关)创建隧道通信路径。

・Site-to-Site VPN 概述
Amazon VPCを「これでもか!」というくらい丁寧に解説

如上图,通过VPN连接不能直接从 Internet 访问专用网络为了,本地网络和 VPC 之间的安全通信通道可以得到保障。

对于 VPN某种但使用站点到站点 VPNIPsec使用了一种称为的方法。

下面,我们将解释各种网关和连接它们的隧道(Site-to-Site VPN)。

・虚拟专用网关

隧道的AWS 侧出口网关。

・客户网关

隧道的现场出口网关。

使用时,设置为网关的本地环境中路由器的IP地址,AS 编号,认证证书是必须的。

・站点之间的VPN连接(Site-to-Site VPN)

创建连接上述网关的隧道通信路径。

除了常规的VPN,额外费用并支付“加速的站点到站点 VPN” 已启用,高速可以实现VPN连接。

以下文章有助于各种网关和站点到站点 VPN 的连接模式。
(也可以与上述中转网关结合使用)

客户端 VPN

站点到站点 VPN 将 VPC 与本地网络上的路由器连接起来。
另一方面,在客户端 VPN 中,它安装在 VPC 上客户端 VPN 终端节点什么时候客户端电脑之间直接隧道通道可以创建。

无需通过路由器当您想在笔记本电脑等上使用 VPN 时。非常方便

Amazon VPCを「これでもか!」というくらい丁寧に解説

与客户端 PC 的 VPN 连接开放式VPN它是通过安装名为 SSL-VPN(类似于 HTTPS 通信中使用的 SSL/TLS 的加密方法)的开源 VPN 软件来实现的。

同样在 VPC 端客户端 VPN 终端节点必须安装。
设置方法在下面的文章中很容易理解。


VPC 安全功能

用于提高 VPC 安全性的防火墙功能相当于作为以下3项服务准备好了。

姓名 外侧过滤器目标 过滤方式 处理退货沟通 内部过滤器目标
网络 ACL 外部IP地址+端口号+协议 白名单+黑名单 无国籍 每个子网
安全组 外部 IP 地址 (安全组 ID,也可以指定前缀列表)+端口号+协议 白名单 有状态的 每个实例(按安全组 ID 分组)
网络防火墙 外部IP地址(也可以指定域列表)+端口号+协议 白名单+黑名单 有状态 + 无状态 按子网(也可以指定域列表)

*什么是“协议”?

除了上面提到的IP地址和端口号,“协议”被添加,但它代表什么?

这个“协议”IANA 定义的传输层协议号用于识别仅通过IP地址和端口号无法区分的协议,如UDP和TCP。
UDP、TCP等传输层协议和ICMP等。混合网络层协议请注意,很容易混淆,因为

不过实际选择的时候,也写了对应的应用层协议的名字,所以我想你不会迷路的。

你用哪一个?

下一篇文章以通俗易懂的方式总结了前两者的区别。

AWS 官方没有提到它,但是很多 3rd 方文章,例如:优先使用安全组而不是网络 ACL去做推荐它一直。

主要原因是它是无状态的,可以同时指定白名单和黑名单。设置网络ACL很复杂, 仅指定有状态和白名单安全组易于设置容易防止错误(另一个原因是安全组允许在每个实例的基础上进行更细粒度的访问控制,而网络 ACL 只能在每个子网的基础上设置规则。)

下面详细介绍每个功能。

网络 ACL

网络 ACL根据每个子网的 IP 地址和端口号(通信协议)设置访问限制顾名思义,该函数使用 ACL。

根据上述“防火墙和 ACL”的定义,网络 ACL 是

  • 白名单(许可)和黑名单(拒绝)两个都可以设置
  • 无状态,对去和返回进行单独评估方法
    是评价方法。

如上所述,许多防火墙经常使用“有状态”ACL 来简化配置。网络 ACL 是因为它是“无国籍”的,设置复杂它往往是

所以很多文章比网络 ACL有状态的安全组(见下文)取得优先权推荐的。

建议使用安全组还有其他一些原因,这些在以下文章中进行了说明。

请注意,默认网络 ACL 在创建 VPC 时创建,并且始终应用于 VPC 内的所有子网。
由于默认网络 ACL 设置为允许所有通信(=不强制执行访问限制),因此可以通过从此处编辑/创建其他安全组和网络 ACL 来应用访问限制。

安全组

安全组类似于网络 ACL。根据规则限制对VPC的访问是一个实现的功能每个实例,或者可以控制每组实例的访问(每个子网的网络 ACL)。

网络 ACL 指定用于过滤规则的子网 (CIDR),但指定安全组安全组 ID,你也可以指定一个托管前缀列表,所以灵活细粒度的访问控制是可能的。

其他

  • 白名单(网络ACL为黑名单+白名单)
  • 有状态的(网络 ACL 是无状态的)

具有以下特点比网络 ACL 更简单、更防错可以设置。

另外,安全组中可以设置的实例不限于EC2、RDS(数据库)和ELB(负载均衡器)
等也可以设置。

我将在另一篇文章中解释详细信息(正在建设中)。,除非明确允许同一安全组内的通信,否则无法访问。(该行为不同于不阻止内部访问的内部部署防火墙。)

网络防火墙

安全组是白名单格式,因此不能用于“我要阻止特定目标”等目的。另外,由于黑名单格式的网络ACL是无状态的,因此存在上述设置复杂、容易出错的缺点。

因此,2020年出现的服务弥补了两者的不足网络防火墙是。
网络防火墙白名单和黑名单,和无状态和有状态可以设置和灵活的访问控制可以实现。

此外,网络 ACL 和安全组仅通过在 VPC 上设置“规则”来工作,但网络防火墙在 VPC 的子网上工作,如下所示。防火墙端点"需要放置一个物体
(防火墙端点被识别为路由表上的网关负载均衡器端点,并且必须为每个 AZ 安装端点)

Amazon VPCを「これでもか!」というくらい丁寧に解説

请注意,使用网络防火墙时编辑战利品表做,配置与 Internet 的所有通信以通过防火墙端点需要这样做。
比如下面的官方文档就详细解释了如何在Web应用中安装网络防火墙,以及如何区分WAF和第三方防火墙。

网络防火墙使上图中的通信流可视化成为可能,对于熟悉本地网络的人来说,它是一种直观且易于理解的配置。另一方面,路由表等。设置项目复杂昂贵的(并且每个 AZ 都需要)是一个缺点。
因此,可以说是针对比较高级的用户的一项服务,初学者应尽可能使用安全组。我猜。


IP地址管理服务

默认配置然后,对于在子网内创建的实例IP 地址是动态创建的将会

过程难管理为了,固定 IP 地址或将多个 IP 地址分组这为更可控的管理提供了以下服务:

姓名 概述
弹性 IP 为实例分配固定的全局 IP 地址
托管前缀列表 对多个 IP 地址进行分组并共同管理安全组和路由设置

弹性 IP

通常情况下,VPC内部实例的全局IP地址是由DHCP功能动态分配的,所以每次实例停止⇨重启时IP地址都会发生变化。
防止此 IP 地址更改固定全球IP地址要分配的功能是弹性 IP (EIP)。
即使重启实例,弹性 IP 也允许您访问相同的 IP 地址。

弹性 IP 是附加到正在运行的 EC2 实例时免费但,用于休眠 EC2 实例或不与实例关联时为 0.005 美元/小时它的成本请小心。

弹性 IP 不仅可以用于 EC2 实例,还可以用于 NAT 网关,网络负载均衡器 (NLB)它也可以用于,在这种情况下,一个弹性 IP 地址可以由多个实例或服务共享。

托管前缀列表

托管前缀列表多个前缀(CIDR 块,子网)到分组该功能适用​​于

通过使用托管前缀列表,安全组和路由表设置的批量管理因此,可以减少管理工作量。

托管前缀列表包括以下两种类型有。

  • 客户管理的前缀列表: 用户创建的前缀列表

  • AWS 托管前缀列表: AWS 端预先准备好的前缀列表。安全组和路由表的设置方式与客户管理的前缀列表相同,但用户无法更改或删除前缀列表本身。

有关详细信息,请参阅以下文章。

此外,截至 2022 年 5 月,以下三种类型的 AWS 托管前缀列表(适用于 CloudFront、S3 和 DynamoDB)可用。

Amazon VPCを「これでもか!」というくらい丁寧に解説

这所房子对于 S3,DynamoDB是前面提到的使用网关端点时设置为路由表目标因此,它在从 VPC 内部访问 S3 和 DynamoDB 时发挥着重要作用。在另一篇文章中介绍(文章正在建设中)去做)


VPC 和日志

在 VPC 中进入和退出内部 ENI(链接到 EC2 实例、ELB 等的网络接口)记录 IP 流量流日志有一个函数叫做

官方文件以下是流日志的一些用例:

  • 诊断过于严格的安全组规则(检查意外拒绝通信)
  • 监控到达您的实例的流量
  • 确定进出网络接口的流量方向

下面是对实际记录的内容和保存位置的说明。

流日志结构

流日志具有以下结构。

2 123456789010 eni-1235b8ca123456789 172.31.16.139 172.31.16.21 20641 22 6 20 4249 1418530010 1418530070 ACCEPT OK

仅从上面很难理解,但它由以下字段组成(官方文档中的解释)

字段名称 上例中的值 内容
版本 2 流日志版本
帐户ID 123456789010 VPC所属的AWS账户ID
接口 ID eni-1235b8ca123456789 记录流量的 ENI ID(与源实例、ELB 等相关联)
srcaddr 172.31.16.139 源 IP 地址
dstaddr 172.31.16.21 收件人的 IP 地址
源端口 20641 源端口
目标端口 22 目的端口
协议 6 流量IANA 协议号
数据包 20 流期间传输的数据包数
字节 4249 流期间传输的字节数
开始 1418530010 接收到流的第一个数据包的时间(UNIX 秒)
结尾 1418530070 接收到流的最后一个数据包的时间(UNIX 秒)
行动 接受 通行许可状态
(接受:接受,
REJECT:被安全组、网络 ACL 等拒绝)
日志状态 哦K 日志状态
(OK:数据成功记录到所选目的地,
NODATA:在聚合间隔内没有到目标 ENI 的流量,
SKIPDATA:在聚合间隔内跳过了一些流日志记录(可能是由于内部容量限制,或内部错误)

例如,通过检查来自action 字段的意外REJECT 流量,您可以执行上述“过度限制安全组规则的诊断”。

如您所见,很难直观地检查原始日志,但与许多其他日志一样CloudWatch 日志执行摘要和各种检测,亚马逊雅典娜我认为如果您分析使用它可以有效地使用它

流日志存储位置

您可以从以下选择流日志的保存位置。

  • CloudWatch 日志
  • S3

这个网站据我所知,正确使用这两个存储位置似乎很好,如下所示。

流日志存储位置 用法
CloudWatch 日志 检测网络流量中的某些访问趋势并发出警报
S3 累积流日志并使用 Athena 分析它们时

有关如何获取流日志的详细信息,请参阅以下文章。

正在建设中的文章

流日志定价

您可以从以下页面参考流日志费用。

如果您使用 CloudWatch Logs 作为存储位置,请参阅“示例 4.监控传送到 CloudWatch Logs 的 VPC 流日志”。
如果您使用 S3,请参考“示例 3. 监控下发到 S3 的 VPC 流日志”



VPC 和成本

VPC 数价格欲了解更多信息,请参阅以下站点,该站点非常易于理解。

特别是,我认为你应该注意以下几点。

  • 到 NAT 网关可能很昂贵所以不要用太多
  • 为了降低 NAT 网关的成本,访问 S3 或 DynamoDB 时最好使用端点
  • 来自 AWS 外部免费接收发送到外部需要大量的数据传输
  • 即使在 AWS 内部,跨区域时数据传输量增加

另外,流量日志费用请参考上述“流量日志费用”。



如何阅读 VPC 控制台屏幕

当您登录 AWS 控制台并进入 VPC 服务时,您将看到如下所示的屏幕。
Amazon VPCを「これでもか!」というくらい丁寧に解説

“VPC Dashboard”列出了当前账户拥有的VPC资源。

“左侧选项卡”(导航窗格)中的 VPC每个资源的设置屏幕既然可以飞,我就每一个简单的解释一下

EC2 全局视图

列出所有区域中的 VPC 资源和 EC2 实例的数量。
其他地区的信息当您想轻松检查时,它很方便,包括

虚拟私有云

VPC

如上所述创建、列出和配置 VPC。

子网

如上所述创建、列出和配置子网。

战利品表

如上所述创建、列出和配置路由表。

互联网网关

如上所述创建、列出和配置 Internet 网关。

仅出口 Internet 网关

创建、列出和配置上述仅出口互联网网关。

运营商网关

如上所述创建、列出和配置运营商网关。

DHCP 选项集

虽然叫DHCP,但并不是解释为DHCP服务器主要功能的动态IP地址分配,指定要从 VPC 内的实例使用的 DNS 服务器和 NTC 服务器习惯于
(如弹性 IP 部分所述,VPC 内的 IP 地址默认是动态分配的)

如果您想使用来自内部 EC2 实例的 DNS 服务器或 NTC 服务器等。, 很方便,因为它可以一次指定。

详细信息在下面的文章中很容易理解。

弹性 IP

如上所述创建、列出和配置弹性 IP。

托管前缀列表

如上所述创建、列出和配置托管前缀列表。

终点

如上所述创建、列出和配置端点。

端点服务

如上所述创建、列出和配置端点服务。

NAT网关

创建、列出和配置上述 NAT 网关。

对等连接

如上所述创建、列出和配置 VPC 对等互连。

安全

网络 ACL

如上所述创建、列出和设置网络 ACL。

安全组

如上所述创建、列出和配置安全组。

可达性分析器

一种分析 VPC 内的任何两个服务(资源)是否可以相互通信的工具。
可用于在创建 VPC 或服务后检查运行情况,以及在出现故障时检查通信(有薪酬的(请注意,这是一项服务)

详细看下面这篇文章很容易理解

*截至 2022 年 6 月,它不能在大阪地区使用。

网络分析

网络访问分析仪

用于分析网络是否满足网络访问要求的工具(有薪酬的(请注意,这是一项服务)

我不知道你说的“网络访问要求”是什么意思,但我主要是在VPC与外网服务的连接中介绍的。可视化到外部连接服务的路由然后,可以分析是否存在意外路由=安全风险。

下面这篇文章很容易理解如何使用

*截至 2022 年 6 月,它不能在大阪地区使用。

DNS防火墙

普通防火墙(安全组、网络 ACL、上面提到的网络防火墙)根据 IP 地址和端口号限制通信,DNS防火墙牙齿域名(主机名)限制名称解析功能。

这使得网络攻击(DNS缓存污染,恶意软件感染ETC。)流氓服务器(C&C服务器)阻止与可以做

严格来说,它是Route53的一个功能,所以我将省略详细的解释,但下面的文章会有所帮助。

网络防火墙

如上所述创建、列出和配置网络防火墙。

虚拟专用网络 (VPN)

创建、列出和配置构成上述 VPN 的客户网关、虚拟专用网关、站点到站点 VPN 和客户端 VPN 端点。

AWS 云广域网

VPC 和本地之间的连接方式包括前面提到的 Site-to-Site VPN、Client VPN、Transit Gateway、直接联系有许多服务,例如,单独管理它们将花费大量时间和精力。

所以这些集成管理多个本地网络和 VPC 之间的连接2021 版的新功能可以:AWS 云广域网是。

详细看下面这篇文章很容易理解

*截至 2022 年 6 月,它不能在大阪地区使用。

中转网关

创建、列出和配置上述 Transit Gateway 和关联的 Transit Gateway 附件和 Transit Gateway 路由表。

流量镜像

镜像是指将网络上流动的数据(流量)复制到另一个位置并执行各种检查(有薪酬的(请注意,这是一项服务)

检查的目的是确定攻击检测以及留下用于审计等的日志。遵守法律法规等等

详细看下面这篇文章很容易理解

*截至 2022 年 7 月,它不能在大阪地区使用。



如何构建 VPC

我们将通过下图所示的VPC配置(开头介绍的配置)的构建来说明如何实际构建VPC。

Amazon VPCを「これでもか!」というくらい丁寧に解説

作为指导,以下尽可能遵循最佳实践我们将继续建设

我将在另一篇文章中发布,所以请稍等片刻。


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308622633.html

相关文章:

  • 2021-08-14
  • 2021-07-16
  • 2021-07-20
  • 2021-11-20
  • 2021-12-29
  • 2021-10-02
  • 2022-01-26
  • 2021-05-08
猜你喜欢
  • 2021-05-24
  • 2021-10-20
  • 2021-12-23
  • 2021-05-23
  • 2021-08-12
  • 2021-07-30
  • 2021-05-19
相关资源
相似解决方案