将 AWS PrivateLink 与 AWS Marketplace - AWS Marketplace

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 AWS PrivateLink 与 AWS Marketplace

AWS Marketplace 支持 AWS PrivateLink,这项技术允许您使用亚马逊网络为买家提供您销售的商品的访问权限 AWS Marketplace。本文档概述了使用技术通过亚马逊虚拟私有云 (VPC) 终端节点 AWS PrivateLink 配置和交付产品的流程。

在本文档中,我们假设您具备多项 AWS 服务和 AWS Marketplace 环境的工作知识。

简介

作为 AWS Marketplace 卖家,您可以通过 Amazon VPC 终端节点为买家提供访问您的服务的权限。此方法使用 AWS PrivateLink 技术,为买家提供在 Amazon 网络上访问您的服务的权限。如果您使用 AWS Marketplace 创建和交付此产品,则买家可以在中发现您的服务 AWS Marketplace。买家还可以在用于创建 VPC 端点的可用服务列表中找到您的产品。

VPC 终端节点是一种虚拟设备,它使 AWS 客户能够在其 VPC 与其他 AWS 服务之间创建私有连接,而无需通过 Internet、NAT 设备、VPN 连接或进行访问 AWS Direct Connect。您可以通过 AWS Marketplace 该服务创建终端节点服务,让买家能够使用该技术连接到您的服务。这种连接方法对于买家来说更安全,因为买家是通过 Amazon 专用网络而不是 Inernet 访问您的服务。

对于您希望提供服务的每个区域,您要创建或使用现有资源来配置 VPC,设置服务实例和网络负载均衡器,并通过创建服务端点将服务注册到网络负载均衡器。在完成这些步骤并测试产品之后,您可以将配置信息提供给 AWS Marketplace 卖家运营团队。

AWS 建议您提供一个私有 DNS 名称,供买家在创建 VPC 终端节点时使用。

买家在创建 VPC 端点时,可以选择启用私有 DNS 名称。通过选择此选项,买家的 VPC 服务将配置一个私有托管区域。如果您提供了私有 DNS 名称,买家可以在配置 VPC 端点时使用该名称连接到您的服务。在买家的私有托管区域中,私有 DNS 名称 (api.example.com) 将指向为端点服务创建的随机生成的 DNS 名称 (vpce-11111111111111111-yyyyyyyy.api.vpce.example.com)。买家的 EC2 实例在不同 VPC 中将调用同一个 DNS 名称 (api.example.com)。此外,如果公有和私有 DNS 名称相同,那么买家在从 VPC 内部或外部访问您的服务时,可以使用相同的公有名称。

如需通过提供服务方面的帮助 AWS Marketplace,您可以联系AWS Marketplace 卖家运营团队。当 AWS Marketplace 买家订阅您的服务并创建 VPC 终端节点时,您的服务将显示在您的 AWS Marketplace 服务下。 AWS Marketplace 卖家运营团队使用用户友好的 DNS 名称,以便在创建 VPC 终端节点时轻松发现您的服务。

您的产品作为软件即服务 (SaaS) 产品创建。计量和计费与其他 AWS Marketplace SaaS产品相同。

配置产品

配置您的产品使其可通过 Amazon VPC 端点使用:

  1. 创建或使用现有 Amazon VPC

  2. 为您的产品创建(或使用现有的) Amazon EC2 实例。

  3. 在您提供产品的每个区域中创建网络负载均衡器。 AWS 建议您包括区域的所有可用区 (AZ)。

  4. 使用 Amazon VPC 控制台、CLI 或支持的开发工具包来创建 VPC 端点服务。

  5. 验证是否可以通过网络负载均衡器访问该服务。

  6. 从 AWS Certificate Manager (ACM) 为您的用户友好型 DNS 名称申请证书。ACM 在颁发证书之前,会验证您是否拥有或控制证书请求中的域名。

  7. 将您的用户友好型 DNS 名称的子域名(例如 api.vpce.example.com)委托给卖家运营团队提供给您的域名服务器。 AWS Marketplace 在您的 DNS 系统中,您必须创建域名服务器 (NS) 资源记录,将此子域名指向 AWS Marketplace 卖家运营团队提供的亚马逊 Route 53 域名服务器,这样 DNS 名称(例如 vpce-0ac6c347a78c90f8.api.vpce.example.com)才能公开解析。

  8. 允许访问您的买家 AWS 账户。

    注意:你可以使用支持的软件开发工具包或这个 CLI 命令自动访问账户:aws vpcev2-permissions--service-id vpce modify-vpc-endpoint-service-svc-0123456789abcdef1 — arn: aws: iam:: 111111111111:root arn: aws: aws: aws: aws: aws: aws: aws: aws: aws: aws: aws: aws: aws: aws: aws: aws add-allowed-principals

将您的产品提交至 AWS Marketplace

在向发布服务的过程中 AWS Marketplace,您需要与 AWS Marketplace 卖家运营团队合作。要提交 PrivateLink已启用的产品,请执行以下操作:

  1. 通过电子邮件将以下信息发送给AWS Marketplace 卖家运营团队:

    1. 终端节点和用于创建终端节点的 AWS 账户。端点类似于:com.amazonaws.vpce.us-east-1.vpce-svc-0daa010345a21646

    2. 您的服务的用户友好型 DNS 名称。这是 AWS Marketplace 买家用来访问您的产品的 DNS 名称。

    3. 您用于申请证书的 AWS 账户以及购买者用于访问 VPC 终端节点的私有 DNS 名称。

      AWS Marketplace 卖家运营团队会验证贵公司的身份以及用于您正在注册的服务(例如 api.vpce.example.com)的 DNS 名称。验证后,DNS 名称将覆盖默认的基本端点 DNS 名称。

买家访问 VPC 端点

AWS Marketplace 创建 VPC 终端节点的买家可以在以下情况下发现您的服务:

  • 您按照此页面前面描述的卖家流程创建了产品或使用现有产品。

  • 买家订阅了您的服务。

  • 您已将买家的 AWS 账户添加到允许的账户列表中。

买家在创建其 VPC 端点时,可以选择将私有托管区域与其 VPC 关联。托管区域包含服务默认私有 DNS 名称的记录集,用于解析到其 VPC 端点网络接口的私有 IP 地址。

任何买家托管的终端节点(包括 AWS Marketplace 服务)都可以为所有账户提供权限(“*” 权限)。但是,您在使用此方法时,除非按服务名称进行搜索,否则服务不会包含在 Describe 调用或控制台中。要在 Desc ribe 调用中显示服务,服务必须将买家的 AWS 账户明确添加到允许列表中。

要访问您的服务,买家需要执行以下操作:

  1. 在上发现并订阅您的服务 AWS Marketplace.

  2. 使用 AWS Command Line Interface (AWS CLI)、API 或 Amazon VPC 控制台来发现您的服务,然后建立一个 VPC 终端节点,以便在它们使用的子网和可用区中连接到您的服务。端点在子网中显示为弹性网络接口。将本地 IP 地址、区域以及区域 DNS 名称分配给端点。

客户端 DNS 名称 名称

区域性

Vpce<0dc9a211a78c90f8>.api.vpce.example.com

IAD2 (1a )

us-east-1a-Vpce<0dc9a211a78c90f8>.api.vpce.example.com

IAD2 (1b )

us-east-1b-Vpce<0dc9a211a78c90f8>.api.vpce.example.com

如果您提供了默认的私有 DNS 名称,并且买家在创建 VPC 端点时选择启用私有 DNS 名称(与私有托管区域关联),那么买家可以看到区域的默认私有 DNS 名称以连接到您的服务:

名称 别名 托管区域别名 ID (备注)
api.example.com vpce<0dc9a211a78c90f8>. api.vpce.example.com Z00AABBCCDD

IAD1

IAD2

附录:核对清单

在将商品提交给 AWS Marketplace 卖家运营团队之前,请使用以下清单确保对商品进行配置和测试。

产品创建核对清单

  • 创建(或使用现有的)VPC,然后对其进行配置。

  • 在 VPC 中创建并配置网络负载均衡器。

  • 通过创建 VPC 端点服务,将您的服务注册到网络负载均衡器。

  • 向 AWS Marketplace 卖家运营团队提供您用于配置 VPC 终端节点的 AWS 账户 ID。

  • 向卖家运营团队提供默认终端节点服务名称(例如 com.amazonaws.vpce.us-east-1.vpce-svc-0bb070044a2164)。 AWS Marketplace

  • 提供用户友好型服务 DNS 名称(必需)来覆盖随机生成的服务 DNS 名称。从 ACM 请求用于用户友好型服务 DNS 名称的子域的 SSL 证书。向 AWS Marketplace 卖家运营团队提供这些证书和您申请证书时使用的 AWS 账户编号。

  • 建议:提供私有 DNS 名称。

  • 创建一个流程,告知 AWS Marketplace 买家并允许他们选择使用 AWS PrivateLink 技术连接到您的服务。将买家的 AWS 账户 ID 添加到允许的账户列表中。

产品测试

  • 验证您的服务是否已配置并且可以找到。

  • 验证您的服务是否可以通过网络负载均衡器找到。

  • 验证买家是否可以创建 VPC 端点并访问您的服务。使用您拥有的 AWS 帐户,该帐户不是您用于设置服务的帐户。