+86 135 410 16684Mon. - Fri. 10:00-22:00

AWS PrivateLink 更新 – 适用于您自己的应用程序和服务的 VPC 终端节点

AWS PrivateLink 更新 – 适用于您自己的应用程序和服务的 VPC 终端节点

AWS PrivateLink 更新 – 适用于您自己的应用程序和服务的 VPC 终端节点

本月早些时候,我的同事 Colm MacCárthaigh 向大家介绍了 AWS PrivateLink,并展示了如何使用它通过 VPC 终端节点访问 Amazon Kinesis StreamsAWS Service CatalogEC2 Systems ManagerEC2 API 以及 ELB API 等 AWS 服务。终端节点 (由一个或多个弹性网络接口表示,这种接口简称 ENI) 驻留在您的 VPC 内,其 IP 地址来自 VPC 的子网,无需 Internet 或 NAT 网关。这个模型非常清晰,易于理解,而且还具有安全和可扩展的特点!

用于私有连接的终端节点
目前,我们正在构建 PrivateLink 初始发布模型,并对其进行扩展,让您能够设置并使用 VPC 终端节点来访问您自己的以及其他方提供的服务。在我们发布适用于 AWS 服务的 PrivateLink 之前,就收到了许多要求提供此功能的请求,所以我预计它将会广受欢迎。例如,一名客户告诉我们,他们计划创建数百个 VPC,每一个都用于托管并提供单一微服务 (请阅读 AWS 上的微服务了解更多信息)。

公司现在可以创建服务并销售给其他 AWS 客户,以便通过私有连接进行访问。还可以创建接受 TCP 流量的服务,将其托管在网络负载均衡器后方,然后直接提供或通过 AWS Marketplace 提供此服务。如有新的订阅请求,各公司会收到通知,并可以按需选择接受或拒绝。我认为,这一功能将在 2018 年为服务提供商创造一个富有活力的强大生态系统。

服务提供商和服务使用者位于不同的 VPC 中,使用不同的 AWS 账户,仅通过终端节点进行通信,所有流量都位于 Amazon 私有网络内部。服务使用者不必担心 IP 地址重叠,VPC 对等的安排或使用 VPC 网关等问题。您还可以使用 AWS Direct Connect 将现有的数据中心与一个 VPC 连接,让云中的应用程序与本地运行的服务实现互相访问。

提供服务及使用服务
这个新功能将使您的能力大大增强。您可以使用 VPC APIVPC CLI 或 AWS 管理控制台进行所有设置。我将使用控制台向您展示如何提供和使用服务。我会使用同一 AWS 账户执行这两项任务,但这仅限于演示目的。

先来看看如何提供服务。服务必须在网络负载均衡器后方运行,必须可通过 TCP 进行访问。可以在 EC2 实例、ECS 容器或本地 (配置为 IP 目标) 托管此服务,而且它应该能够扩展,以满足预期的需求。我们建议使用的 NLB,其目标应在所在区域的每个可用区中,以实现低延迟和容错能力。请看以下我的示例:

1513416006-2247-ep-lb-targets-1

我打开 VPC 控制台,导航到 Endpoint Services,然后单击 Create Endpoint Service

1513416006-6505-ep-dash-create-1

我选择我的 NLB (在本例中只有一个,但我可以选择两个或多个,它们将以轮询方式与各使用者相对应)。单击 Acceptance required,我即针对每个请求获得对终端节点的访问控制权:

1513416006-3536-ep-create-ep-svc-1

我单击 Create service,我的服务将立即就绪:

1513416006-8825-ep-my-eps-1

如果我要在 AWS Marketplace 中提供此服务,现在即可开始创建列表。因为在这篇博文中我既是提供者也是使用者,所以我将跳过这一步。但我会复制 Service name 以在下一步中使用。

我返回 VPC 控制面板,导航到 Endpoints,然后单击 Create endpoint。然后我选择 Find service by name,粘贴服务名称,再单击 Verify 转到下一步。接下来我选择所需的可用区,并在每个可用区中选择一个子网,选取安全组,然后单击 Create endpoint

1513416007-4467-ep-create-my-ep-client-1

因为我在创建终端节点服务时勾选了“Acceptance required”,因此连接处于“pending acceptance”状态:

1513416005-8796-ep-con-pending-1

返回终端节点服务端 (通常位于另一 AWS 账户中),我可以看到待处理的请求并接受它:

1513416007-5837-ep-accept-1

终端节点将在大约一分钟之内变为可用状态。如果我创建服务并销售其访问权限,接受请求会是新客户购买及加入的大型工作流 (可能是自动流程) 中的一部分。

作为使用者,我可通过以下 DNS 名称访问新终端节点:

1513416007-7221-ep-dns-1

由 AWS 提供的服务及 AWS Marketplace 中的服务均可通过水平分割 DNS 进行访问。通过此名称访问服务会将区域和可用区纳入考虑范围,从而解析至“最佳”终端节点。

使用 Marketplace
如我之前提到的,这一全新 PrivateLink 功能为 AWS Marketplace 中的新卖家和现有卖家创造了一个商机。以下 SaaS 已作为终端节点提供,我认为未来将有更多 (请阅读入门材料通过 AWS Marketplace 销售):

CA Technologies – CA App Experience Analytics Essentials

Aqua Security – Aqua Container Image Security Scanner

Dynatrace – Cloud-Native Monitoring powered by AI

Cisco Stealthwatch – Public Cloud Monitoring – MeteredPublic Cloud Monitoring – Contracts

SigOpt – ML 优化及微调

当前可用
全新的 PrivateLink 功能现已推出,您可以立即开始使用!