aws vpc 端点 - 它是如何工作的?
Posted
技术标签:
【中文标题】aws vpc 端点 - 它是如何工作的?【英文标题】:aws vpc endpoints - how it works? 【发布时间】:2022-01-21 00:03:51 【问题描述】:我正在尝试了解 VPC 终端节点如何工作的概念,但我不确定我是否理解 AWS 文档。例如,我有一个私有 S3 存储桶和一个 EKS 集群。因此,如果我的存储桶是私有的,我相信从 EKS 集群到 S3 的流量不会通过互联网,而只会通过 AWS 网络。但如果我的 s3 存储桶是公开的,那么我可能需要设置 VPC 端点,这样流量就不会离开 AWS。我对 ECR 的期望与我期望的逻辑相同,如果它是私有的,您可以通过 AWS 网络将图像加载到您的 EKS。 那么,当您需要在您的 AWS 账户(而不是来自本地或其他 VPC)中使用 VPC 终端节点时,具体情况是什么?
【问题讨论】:
如果您想保证来自您的 EKS 集群的流量通过 AWS 私有网络而不是公共互联网到达您的 S3 存储桶,请在该 VPC 中为 Amazon S3 配置和使用 VPC 终端节点。术语“私有存储桶”和“公共存储桶”定义不明确,但它们通常与身份验证/授权的要求相关,而不是网络路由。 【参考方案1】: 当客户端应用程序托管在您的 VPC 内并且您不希望通过公共路由流量时,VPC 终端节点通常与 公共 AWS 服务(例如 S3、DynamoDB、ECR 等)一起使用Internet,否则会导致到达 AWS 服务的跃点数。
想象一下,当您在 EC2 实例上运行应用程序时,该应用程序部署到您的 VPC 的私有子网(即 EKS 集群中的 Pod)。此应用程序从/向 AWS S3 读取/写入数据。如果您不使用 VPC 终端节点,您的流量将首先到达您的 NAT 网关,然后是您的 VPC 的 Internet 网关到达公共 Internet。最终,它将击中 AWS S3。响应将通过相同的路径返回。
与 ECR 相同(即由 kubelet
启动的 Kubernetes Pod 的新实例)。最好(即更快)选择最短路径从 ECR 下载 Docker 映像,而不是遍历多个交换机/路由器。 使用 VPC 端点,您的流量将首先到达 VPC 端点(不离开您的私有子网),然后到达例如直接ECR
(流量不离开亚马逊网络)。
正如@jarmod
正确提到的,应该区分路由(OSI 模型中的第 3 层)和身份验证/授权( 第 7 层)。例如,您可以使用 VPC 终端节点访问 AWS S3,但未获得授权(甚至未经身份验证),例如从 S3 存储桶中读取文件。
希望这能阐明使用 VPC 端点背后的想法。
【讨论】:
以上是关于aws vpc 端点 - 它是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 mySQL 工作台连接到 AWS 私有子网 VPC 中的 RDS