Hello大家好,欢迎来到《AWS解决方案架构师认证 Professional(SAP)中文视频培训课程》,我们今天的课时讨论VPC 终端节点服务 ,也称为AWS PrivateLink。

VPC 终端节点服务_负载均衡

什么是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 终端节点服务。

创建终端节点服务的步骤

我们看下创建终端节点服务的一般步骤:

首先,在提供服务的VPC中创建一个网络负载均衡器,配置将请求路由到应用程序。然后,创建终端节点服务,并关联网络负载均衡器。这样的话我们的应用程序就可以通过网络负载均衡器来访问。

这是服务VPC的配置。

在用户VPC侧,创建一个用于访问应用程序的VPC接口终端节点,会创建一个终端节点网络接口也就是ENI;

然后“服务VPC”接受接口终端节点连接请求后,AWS PrivateLink就创建完成了,“用户VPC”的ENI和“服务VPC”的网络负载均衡器之间就通过AWS的私有网络建立了连接。

当“用户VPC”访问“服务VPC”的应用程序时,会通过接口终端节点的ENI,然后ENI转发请求到“服务VPC”的网络负载均衡器,然后网络负载均衡器在转发请求到我们的应用程序。

VPC终端节点服务是具有高度可扩展性的,所以通过一个网络服务均衡器可为上千个用户VPC提供服务。

如果您将应用程序部署在多个可用区,并配置网络负载均衡器在多个可用区路由流量,然后您可以在“用户VPC”的多个可用区创建多个接口终端节点,这样的话,您的这个架构就是具有容错性的高可用的架构。

VPC 终端节点服务_负载均衡

通过终端节点服务集中化进行Web过滤的解决方案

接下来我们讨论一个使用VPC 终端节点服务的解决方案—通过终端节点服务集中化进行Web过滤的解决方案。

先介绍下这个解决方案的背景以及能解决什么问题。

很多企业都会通过自行搭建代理的方式监控和控制VPC中的实例访问互联网的WEB流量,如果有多个账户和VPC,每个都要部署代理的话会增加架构的复杂性,增加管理成本和资源成本。

所以,就可以通过设置一个共享服务VPC,然后在这个VPC中统一部署代理服务,互联网网关等等,然后让所有访问互联网的流量都通过这些代理服务,在通过互联网网关访问互联网,这样的话我们就可以在这些代理服务上做一些WEB过滤,访问控制等工作,但是要注意这个方案只适用于显示代理模式。

另外其他的VPC我们希望是通过接口终端节点的方式访问我们的共享服务VPC,通过VPC的代理访问互联网,因为这种方式接入简单,管理方便,且两个VPC之间的通信是通过AWS的私有网络。

所以,我们首先先要在共享服务VPC中创建一个网络负载均衡器,配置好将请求转发到代理服务,然后配置好终端节点服务并关联网络负载均衡器;

用户VPC需要访问互联网,就在这个用户的VPC创建一个接口终端节点并配置好连接我们创建的终端节点服务,这样的话用户VPC的接口终端节点就和共享服务VPC的网络负载均衡器建立了AWS私有连接。

然后通过配置后,用户VPC的实例访问互联网,就会将流量发送到接口终端节点,然后转发到共享服务VPC的网络负载均衡器,网络负载均衡器在将流量转发到我们的代理服务,进行WEB过滤及访问控制等管理工作,最后集中通过共享服务VPC访问互联网。

好的,希望能过通过这个解决方案,让大家更深入的了解VPC终端节点服务的使用场景。

以上就是我们今天的课程内容,希望本课时能够给大家带来帮助。

VPC 终端节点服务_解决方案_03



我们今天的视频课程就到这里,感谢大家的观看,我们下一课程再见。

VPC 终端节点服务_应用程序_04