自 2015 年推出 VPC 终端节点以来,创建终端节点已成为从 Amazon Virtual Private Cloud (VPC) 中安全地访问 S3 和 DynamoDB 的一种常见方法,而无需使用 Internet 网关、NAT 网关或防火墙代理。在使用 VPC 终端节点时,VPC 和 AWS 服务之间的路由是由 AWS 网络处理的,并且可以使用 IAM 策略控制对服务资源的访问。
今天,我们宣布推出 AWS PrivateLink,这是最新一代的 VPC 终端节点,旨在使客户以高度可用且可扩展的方式访问 AWS 服务,同时将所有流量保持在 AWS 网络内。现在,可以在您的 VPC 中使用 Kinesis、Service Catalog、Amazon EC2、EC2 Systems Manager (SSM) 和 Elastic Load Balancing (ELB) API 并支持即将推出的更多服务,如 Key Management Service (KMS) 和 Amazon Cloudwatch。
在使用传统终端节点时,就像在您的 VPC 和 AWS 服务之间连接一条虚拟电缆一样。连接到 AWS 服务不需要使用 Internet 或 NAT 网关,但终端节点保留在您的 VPC 外部。在使用 PrivateLink 时,将使用弹性网络接口 (ENI) 和您的 VPC 子网中的 IP 地址直接在您的 VPC 中创建终端节点。该服务现在位于您的 VPC 中,从而可以通过私有 IP 地址连接到 AWS 服务。这意味着,可以使用 VPC 安全组管理对终端节点的访问,并且还可以通过 AWS Direct Connect 从本地访问 PrivateLink 终端节点。
通过使用由 PrivateLink 提供支持的服务,客户现在可以管理实例队列,创建和管理 IT 服务目录以及存储和处理数据,而不要求流量通过 Internet。
创建 PrivateLink 终端节点
为了创建 PrivateLink 终端节点,我导航到 VPC 控制台,选择终端节点,然后选择创建终端节点。
然后,我选择要访问的服务。新的 PrivateLink 终端节点具有“接口”类型。在这种情况下,我希望直接从我的 VPC 中使用 Kinesis 服务,因而我选择 kinesis-streams 服务。
此时,我可以选择要在其中启动我的新终端节点的 VPC,然后选择 ENI 和 IP 地址所在的子网。我还可以将终端节点与新的或现有的安全组相关联,以使我能够控制哪些实例可以访问终端节点。
由于 PrivateLink 终端节点将使用我的 VPC 中的 IP 地址,因此,我可以选择使用 VPC 私有 DNS 覆盖 AWS 服务 DNS 名称的 DNS。通过选中启用私有 DNS 名称,从我的 VPC 中查找“kinesis.us-east-1.amazonaws.com”将会解析为我正在创建的终端节点的 IP 地址。这样,就可以无缝地转换到终端节点,而无需对我的应用程序进行任何更改。默认情况下,如果我希望在处理流量之前测试或配置终端节点,我可以将其禁用,并随时编辑终端节点以对其进行更改。
在我准备就绪并对 VPC、子网和 DNS 设置感到满意后,我单击创建终端节点以完成该过程。
使用 PrivateLink 终端节点
默认情况下,如果启用了私有 DNS 名称,使用 PrivateLink 终端节点与使用 SDK、AWS CLI 或从您的 VPC 中访问服务 API 的其他软件一样简单。无需更改任何代码或配置。
为了支持测试和高级配置,每个终端节点还会获得一组专用于您的终端节点的唯一 DNS 名称。终端节点和区域名称具有一个主名称。
主名称对于通过 Direct Connect 访问您的终端节点特别有用,而无需在本地使用任何 DNS 覆盖。当然,也可以在您的 VPC 中使用主名称。
主名称和主服务名称 (由于我选择覆盖该名称) 包括区域容错,并平衡可用区之间的流量。如果我采用的架构使用区域隔离技术以实现故障遏制和分隔并降低延迟,或是用来最大限度减少区域数据传输,我也可以使用区域名称明确控制我的流量是在区域之间流动,还是保留在区域内。
定价和可用性
目前,在中国 (北京) 以外的所有 AWS 商业区域中都提供了 AWS PrivateLink。有关各个服务的区域可用性,请参阅我们的文档。
起价为每小时 0.01 美元,外加每 GB 0.01 美元的数据处理费用。在可用区之间或通过 Direct Connect 在您的终端节点和本地之间传输的数据也会产生常见的 EC2 区域和 Direct Connect 数据传输费用。有关更多信息,请参阅 VPC 定价。
本文转载自 AWS 技术博客。
原文链接:
评论