AWS 私有 Link 与 VPC 端点

AWS Private Link vs VPC Endpoint

私有 Link 和 VPC 端点有什么区别?根据文档,VPC 端点似乎是访问 AWS 服务而不将数据暴露给互联网的网关。但是关于 AWS private link 的定义看起来也很相似。

参考资料Link: https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html

Private Link 是否是 VPC 端点的超集?

如果有人能举例说明这两者之间的区别,那将非常有帮助!

提前致谢!

AWS defines 他们是:

VPC endpoint — The entry point in your VPC that enables you to connect privately to a service.

AWS PrivateLink — A technology that provides private connectivity between VPCs and services.

因此,PrivateLink 是一项允许您私下(无需互联网)访问 VPC 中的服务的技术。这些服务可以是你自己的,也可以是AWS提供的。

假设您开发了一些应用程序并将其托管在您的 VPC 中。您希望允许访问此应用程序以访问其他 VPC 和其他 AWS users/accounts 中的服务。但是您不想设置任何 VPC 对等互连,也不想为此使用 Internet。这是可以使用 PrivateLink 的地方。使用 PrivateLink,您可以创建自己的 VPC endpoint services,这将使其他服务能够使用您的应用程序。

在上面的场景中,VPC interface endpoint 是您的应用程序的用户必须在其 VPC 中创建才能连接到您的应用程序的资源。这与您创建 VPC 接口端点以私下(无 Internet)访问 AWS 提供的服务(例如 Lambda、KMS 或 SMS)时相同。

还有 Gateway VPC endpoints 较旧的 技术,已被 PrivateLink 取代。网关只能用于访问S3和DynamoDB,没有别的。

综上所述,PrivateLink 是一种通用技术,您或 AWS 可以使用它来允许对内部服务进行私有访问。 VPC接口端点是此类VPC服务的用户在自己的VPC中创建的与它们交互的资源。

理解差异的一个有用方法是了解它们如何在技术上将私有资源连接到 public 服务。

网关端点通过在以网关端点为目标的 VPC 路由 table 中添加前缀列表来路由流量。它是一个类似于互联网网关的逻辑网关对象。

相比之下,接口端点使用 Privatelink 通过弹性网络接口 (ENI) 在子网级别注入 VPC,提供网络接口功能,因此,DNS 和私有 IP 寻址作为连接方式到 AWS public 服务,而不是简单地路由到它。

连接的差异提供了不同的优点和缺点(可用性、弹性、访问、可伸缩性等),然后决定了如何最好地将私有资源连接到 public 服务。

Privatelink 只是一种非常抽象的技术,通过使用 DNS 允许更简化的连接。以下 AWS re:Invent 对 Privatelink 进行了很好的概述:https://www.youtube.com/watch?v=abOFqytVqBU