AWS学习笔记-网络
【用语】
网络组件解释:https://zhuanlan.zhihu.com/p/137963921
VPC之间建立连接。 | VPC对等连接(VPC Peering) |
私有子网中的实例访问Internet上的资源。 | NAT |
将本地软件设备与基于云的存储相连接。主要用于数据同步。 | AWS Storage Gateway |
Local Networkh环境 与 AWS Cloud 之间建立私有的网络连接。就是专线。 (Direct Connect 不经过 Internet,而是使用 AWS Direct Connect PoP 进行专网接入) |
Direct Connect |
AWS VPN | |
PrivateLink把VPC和AWS上的服务连接起来,然后VPC就可以不经internet访问到AWS上的所需的服务。使用私有的IP地址访问资源。 | PrivateLink |
Endpoint是PrivateLink的组成部分,Endpoint是一个虚拟的网络设备,充当了VPC和PrivateLink服务之间的门,也起到了盾牌的作用。因为PrivateLink和VPC之间的数据是加密的 。 | Endpoint |
Transit Gateway(中转网关)是网络中转中心,用来互连VPC 和本地网络。和Direct GW配合使用 | Transit Gateway |
1.Region、AZ、VPC、Edge Location
![](https://img2023.cnblogs.com/blog/1708418/202307/1708418-20230726233114540-1696395931.png)
◆区域(Region)
每一个AWS区域为一个独立的地理区域,可最大程度地实现容错和稳定性。
不同区域里面的资源(EC2,S3,EBS 等)是默认不可以访问位于其他区域的内容的,区域A的资源不能在区域B中找到。
Region内全部互联,Region间全隔离。
因此,一个VPC只能在一个Region内,一个子网只能位于一个AZ内。
VPC内默认跨所有可用区的所有子网全互通,除非认为设置ACL阻止。
◆可用区(Availablity Zone)- AZ
AWS 区域提供多个在物理上独立且隔离的可用区,这些可用区通过延迟低、吞吐量高且冗余性高的网络连接在一起。
可以理解为可用区就是在一个区域内的(一个或多个)数据中心机房,这些数据中心通过高速网络进行互联。
因此,对于应用部署来说,可以在一个区域内的不同可用区进行配置,实现高可用,容错和可扩展的特性。
◆边缘网络节点(Edge Location)
AWS的全球边缘网络主要服务于AWS CloudFront服务,该服务是一种CDN (Content Delivery Network) 业务,
它使用遍布全球的节点网络来处理请求,从而以低延迟和高数据传输速率来分配内容。
为了以更低的延迟向终端用户提供内容,Amazon CloudFront 使用了一个包含超过 410 个节点的全球网络,该网络覆盖 48 个国家/地区的 90 余个城市。
2.VPC
1.创建VPC(10.0.0.0/24)。
2.创建一个私有子网subnet(10.0.0.0/25)和一个共有子网(10.0.0.128/25)。
3.创建一个路由(RouteTable)。
4.创建互联网网关(InternetGateway)。
5.通过路由把子网和网关关联到一起。
1)在路由中添加子网关联,把公有子网添加进去。
2)在路由中添加“编辑路由”中把网关添加进去。
以上操作完成如下流程。
3.AWS Storage Gateway
AWS Storage Gateway将本地软件设备与基于云的存储相连接,从而在本地IT环境与AWS存储基础设施间提供具备数据安全功能的无缝集成。
您可以使用此服务将数据存储到AWS云,利用经济高效的可扩展存储来帮助保持数据安全性。
AWS Storage Gateway提供了基于文件、基于卷以及基于磁带的存储解决方案。
实现本地机器通过Gateway和S3关联,将本地机器的共享文件夹中的文件上传到S3存储桶。
4.NAT
NAT用于让私有子网中的实例访问Internet上的资源。
把NAT建立在共有子网中。
5.VPC对等连接(VPC Peering)
两个VPC之间如何建立连接?
两个VPC之间通过VPC Peering建立连接,可以使用私有地址让两个VPC之间相互通信,就像它们在同一个VPC内一样。
可以在自己的 VPC 之间创建 VPC 对等连接,或者在自己的 VPC 与其他 AWS 账户中的 VPC 之间创建连接。
VPC 可位于不同区域内(也称为区域间 VPC 对等连接)。
AWS 使用 VPC 的现有基础设施来创建 VPC 对等连接;该连接既不是网关也不是 VPN 连接,并且不依赖某一单独的物理硬件。
没有单点通信故障也没有带宽瓶颈。VPC 对等连接可以帮助您促进数据的传输。
例如,如果您有多个 AWS 账户,则可以通过在这些账户中的 VPC 间建立对等连接来创建文件共享网络。
您还可以使用 VPC 对等连接来允许其他 VPC 访问您某个 VPC 中的资源。
当您跨不同 AWS 区域在 VPC 之间建立对等关系时,不同 AWS 区域中的 VPC 中的资源(例如EC2 实例和 Lambda 函数)可以使用私有 IP 地址相互通信,
无需使用网关、VPN 连接或网络设备。这些流量保留在私有 IP 空间中。所有区域间流量均经过加密,没有单点故障或带宽瓶颈。
流量一直处于全球 AWS 骨干网络中,不会经过公有 Internet,这样可以减少面临的威胁,例如常见攻击漏洞和 DDoS 攻击。
区域间 VPC 对等连接提供了一种简单经济的方式,可在区域间共享资源或为实现地理冗余性而复制数据。
6.AWS VPN和 Direct Connect
AWS Direct Connect (DX)专线的优点又稳定性高、高带宽、安全性高、延迟更小等优点,但是缺点是单条专线不是高可用,如果两条专线的话,费用较高。
因此可以选择AWS Direct Connect (DX) 为主,VPN线路为备用的连接方案。
AWS与本地网络间的高可用连接方案:https://blog.csdn.net/iloveaws/article/details/125035296
如果通过Direct Connect连接建立AWS VPN?
![](https://img2023.cnblogs.com/blog/1708418/202307/1708418-20230729232804215-60227414.png)
7.终端节点(Endpoint)
VPC 终端节点有两种类型:网关终端节点 和 接口终端节点。
网关终端节点,只支持S3和DynamoDB这两个服务,要使用网关终端节点,必须为每个VPC创建一个网关。
使用网关终端节点需要更新路由表,在其中创建到AWS服务的路由。这也意味着与路由表相关联的每个子网都可以访问终端节点。
网关终端节点是在VPC级别定义的。
![](https://img2023.cnblogs.com/blog/1708418/202308/1708418-20230818235420298-887182450.png)
VPC终端节点有三种类型:接口终端节点、网关负载均衡器终端节点、网关终端节点。
接口终端节点和网关负载均衡器终端节点由 AWS PrivateLink提供支持,并使用弹性网络接口(ENI)作为指向服务的流量入口点。
接口终端节点通常使用与服务关联的公有或私有DNS名称进行访问,而网关终端节点和网关负载均衡器终端节点则作为路由表中指向服务的流量路由目标。
◆网关终端节点
创建网关终端节点
1.指定VPC(例如,VPC1)、指定路由表、指定服务名称(例,S3)。
2.创建EC2,选择VPC1。
如上操作之后,EC2所在VPC的子网通过路由表关联上网关终端节点,实现不通过Internet就能够访问S3。
◆接口终端节点
接口终端节点提供一个弹性网络接口ENI,ENI会被分配一个所属子网的私有IP地址,用于发送到AWS服务的通信的入口点。
![](https://img2023.cnblogs.com/blog/1708418/202308/1708418-20230828224816391-1259765566.png)
◆终端节点服务(privateLink)和接口终端节点(Endpoint-interNet)的区别
-VPC 终端节点 — VPC 中的入口点,使您能够私下连接到服务。
-AWS PrivateLink — 一种在 VPC 和服务之间提供私有连接的技术。
在服务提供方(EC2或AWS的服务)创建终端节点服务(privateLink),在服务使用方(EC2)所在的Subnet创建终端节点。
#创建接口终端节点的时候可以选择AWS服务或者其他自定义服务。(EC2 Instance Connect Endpoint等)
因此 PrivateLink 是一种技术,允许您私下(无需 Internet)访问 VPC 中的服务。这些服务可以是您自己的,也可以是由 AWS 提供的。
假设您开发了一些应用程序,并将其托管在您的 VPC 中。您希望允许访问此应用程序以访问其他 VPC 和其他 AWS 用户/账户中的服务。
但是您不想设置任何 VPC 对等互连,也不想为此使用 Internet。这是可以使用 PrivateLink 的地方。
使用 PrivateLink,您可以创建自己的VPC 端点服务,这将使其他服务能够使用您的应用程序。
在上述场景中,VPC 接口终端节点是您的应用程序用户必须在其 VPC 中创建才能连接到您的应用程序的资源。
这与您创建 VPC 接口终端节点以私下访问 AWS 提供的服务(无 Internet)时相同,例如 Lambda、KMS 或 SMS。
还有网关 VPC 端点,这是旧技术,被 PrivateLink 取代。网关只能用于访问 S3 和 DynamoDB,仅此而已。
总而言之,PrivateLink 是一种通用技术,您或 AWS 可以使用它来允许私有访问内部服务。
VPC 接口端点是此类 VPC 服务的用户在其自己的 VPC 中创建的用于与其交互的资源。
8.PrivateLink
什么是VPC 终端节点服务?
我们在前面的课时讨论过VPC终端节点,无论是接口终端节点还是网关终端节点,他们都是用于我们连接AWS的服务的,如S3、EC2等等。
那VPC 终端节点服务是做什么的呢,您可以在 VPC 中创建自己的应用程序,并将其配置为终端节点服务,然后,其他 AWS 用户可以使用VPC 接口终端节点,
在他们的 VPC 和您的终端节点服务之间创建连接。通过接口终端节点使用AWS的私有网络访问您的应用程序或服务。
您是服务提供商,而创建与您的服务之间的连接的 AWS用户是服务使用者。
VPC 终端节点服务提供了一种最安全、高度的可扩展性的方式,可将我们想要对外的应用程序提供给上千个VPC访问,这些VPC既可以是您的AWS账号下的,
也可以是其他AWS账号下的VPC。
通过VPC 终端节点服务,不需要与这些VPC创建VPC对等连接,不需要NAT、互联网网关,也不需要配置路由表,配置好VPC 终端节点服务后,
其他的用户只能通过创建VPC接口终端节点,然后通过接口终端节点访问我们的服务,这种方式比使用互联网访问服务更加的安全,且通过AWS私有网络访问,
网络的质量更能得到保障。
使用终端节点服务的场景
我们看一个例子,这是计划对外提供服务的VPC,而且已经创建好了计划对外的应用程序,我们后面把他叫做“服务VPC”,
我们希望让其他的AWS账户的用户能够访问这个应用程序。
比如这是一个用户的VPC,VPC内运行着应用程序客户端,我们希望让这个“用户VPC”访问“服务VPC”内的应用程序。
当然可以在这两个VPC之间创建VPC对等连接,然后“用户VPC”就可以访问“服务VPC”的应用程序了。但VPC对等连接的问题是:
首先,建立对等连接之后,从网络层面来讲,等于我们提供服务的VPC和“客户VPC”网络全部打通了,
“服务VPC”内的资源完全暴露给用户的VPC而不仅仅是这个应用程序,这么做可能会带来未知的安全风险;
其次,如果提供的应用程序是给非常多的用户使用,比如有上百、上千个VPC,我们不可能为每个VPC都手动建立VPC对等连接,然后还要维护上百上千个路由表;
再者,我们知道建立VPC对等连接,“服务VPC”和用户的VPC的CIDR块不能重叠,这个我们更保证不了用户端的CIDR配置。
当然也可以将应用程序暴露在互联网,然后用户通过互联网访问,但是这样会带来额外的安全风险,尤其是当应用程序提供一些重要数据服务时。
所以在我们这个场景下,就可以使用VPC 终端节点服务。
原文链接:https://blog.csdn.net/iloveaws/article/details/125035250
9.Transit gateway
Transit gateway可以简单把它理解成一个云路由器,
它可以连接上千个VPC,并可以将本地网络、VPN连接、Direct Connect Gateway网络统统连起来,形成一个星型网络拓扑结构。
使用Transit gateway后的网络拓扑,一个星型结构。Transit gateway位于中心将多个VPC、VPN、Connect Gateway都连接到了一起。