1

我正在尝试了解 VPC 终端节点如何工作的概念,但我不确定我是否了解 AWS 文档。例如,我有一个私有 S3 存储桶和一个 EKS 集群。因此,如果我的存储桶是私有的,我相信从 EKS 集群到 S3 的流量不会通过互联网,而只会通过 AWS 网络。但如果我的 s3 存储桶是公开的,那么我可能需要设置 VPC 端点,这样流量就不会离开 AWS。我对 ECR 的期望与我期望的逻辑相同,如果它是私有的,您可以通过 AWS 网络将图像加载到您的 EKS。那么,当您需要在您的 AWS 账户(而不是来自本地或其他 VPC)中使用 VPC 终端节点时,具体情况是什么?

4

1 回答 1

1

当客户端应用程序托管在您的 VPC 内并且您不希望通过公共 Internet 路由流量时, VPC 终端节点通常与公共AWS 服务(例如 S3、DynamoDB、ECR 等)一起使用,否则会导致大量跳转到 AWS 服务。

想象一下,当您有一个在 EC2 实例上运行的应用程序时,该应用程序部署到您的 VPC 的私有子网(即 EKS 集群中的 Pod)。此应用程序从/向 AWS S3 读取/写入数据。如果您使用 VPC 终端节点,您的流量将首先到达您的 NAT 网关,然后是您的 VPC 的 Internet 网关到达公共 Internet。最终,它将击中 AWS S3。响应将通过相同的路线返回。

与 ECR 相同(即 Kubernetes Pod 的新实例由 启动kubelet)。最好(即更快)选择最短路径从 ECR 下载 Docker 映像,而不是遍历多个交换机/路由器。使用VPC 终端节点,您的流量将首先到达 VPC 终端节点(不离开您的私有子网),然后ECR直接到达例如(流量不离开亚马逊网络)。

正如 正确提到的@jarmod,应该区分路由(OSI 模型中的第 3 层)和身份验证/授权第 7 层)。例如,您可以使用 VPC 终端节点访问 AWS S3,但没有被授权(甚至未经身份验证)例如从 S3 存储桶中读取文件。

希望这能阐明使用 VPC 端点背后的想法。

于 2021-12-18T17:56:30.840 回答