跳转至

作为服务提供商使用 Megaport 的 API 管理连接

服务提供商可以将 Megaport 的功能无缝集成到其平台中。他们可以控制客户对其接入点(on-ramp)的访问,例如 Ports。

服务提供商可以使用服务密钥(service key)来管理客户访问,并将其安全连接到接入点。他们可以设置特定的速率限制,并使用 VLAN 对客户流量进行分段。

服务密钥是一种由一个 Megaport 账户持有人提供给另一位 Megaport 账户持有人的代码,用于将两个彼此独立的企业连接在一起。拥有各自独立 Megaport 账户的客户可以通过 Megaport 网络将各自的 Ports、MCR 或 MVE 相互连接,从而实现企业对企业的 VXC。

在允许客户使用服务密钥连接到接入点之前,服务提供商必须先连接到 Megaport 网络。连接完成后,需要:

  • 决定哪些连接将用作接入点
  • 将这些接入点位置映射到其自定义的区域或分区
  • 考虑容量和多样性分区,以进行冗余管理

本主题介绍作为服务提供商,如何使用 Megaport API 降低人工操作,并加速服务开通,从而更容易向客户销售私有连接。

场景

QuantumGPU 是一家小型服务提供商公司,总部位于美国加利福尼亚州洛杉矶,提供自助、按需的 GPU 即服务(GPUaaS)平台。QuantumGPU 在不同地域为企业提供 GPU 加速计算,当前运营的 Ports 如下:

  • 美国洛杉矶的 2 个 Ports(Equinix LA1 和 CoreSite LA1)
  • 美国纽约的 1 个 Port(Telehouse)
  • 英国伦敦的 1 个 Port(Telehouse North)
  • 日本大阪的 1 个 Port(Equinix OS1)
  • 澳大利亚悉尼的 1 个 Port(Global Switch Sydney West)

显示服务提供商所拥有的活跃端口的场景

QuantumGPU 需要控制客户如何连接到 Ports,并使用 API 实现自动化。

QuantumGPU(服务提供商)计划实施以下场景:

场景与工作流程:连接到服务提供商平台的逐步流程:客户请求连接到服务提供商平台的接入点。服务提供商列出端口可用的地区:美国、英国、日本、澳大利亚。客户选择一个地区(美国)。服务提供商列出美国境内有上线端口的城市:洛杉矶、纽约。服务提供商将洛杉矶可用端口映射到名为US-West的区域,允许客户连接到US-West的可用端口之一。服务提供商根据容量/使用率和多样性,决定向客户提供哪个接入点。客户选择US-West并添加多样性。服务提供商为所选端口创建服务密钥:洛杉矶 1(蓝区)、洛杉矶 2(红区),客户使用服务密钥创建连接。

相关术语

在阅读本主题前,请先熟悉以下术语:

Megaport Cloud Router (MCR)

MCR 是一项托管虚拟路由器服务,可在全球范围内的 Megaport 软件定义网络(SDN)上建立三层连通性。MCR 实例在全球关键路由区域的数据中心中预配置。MCR 可实现多云或混合云网络、网络服务提供商与云服务提供商之间的数据传输。

Megaport Virtual Edge (MVE)

MVE 是一个按需、供应商中立的网络功能虚拟化 (NFV) 平台,可在 Megaport 的全球软件定义网络 (SDN) 的边缘为网络服务提供虚拟基础设施。 通过 Megaport Virtual Edge,SD-WAN 和 NGFW 等网络技术直接托管在 Megaport 的全球网络上。

On-ramp

接入通道是到服务提供商可用资源的直接、私有连接,例如通过 Megaport 连接。为确保连接快速且可靠,服务提供商会将这些资源映射到其区域或可用区,设置速率限制,管理按客户划分的 VLAN 容量等。

Port

Port 是连接到 Megaport 的全球软件定义网络(SDN)的高速以太网接口。Ports 提供 1 Gbps、10 Gbps、100 Gbps 或更高的速率选项,具体取决于所在位置和服务可用性。

端口多样性 (Port diversity)

Port 多样性通过在单个 Megaport 站点内的不同物理设备上提供 Port 服务,提高网络的健壮性。Port 会被分配到多样性区域。多样性区域将同一站点内的设备分组,以确保服务被开通在物理上相互独立的设备上,并始终保持分离。

服务密钥 (Service key)

服务密钥是一种由一个 Megaport 账户持有人提供给另一位 Megaport 账户持有人的代码,用于将两个彼此独立的企业连接在一起。拥有各自独立 Megaport 账户的客户可以通过 Megaport 网络将各自的 Ports、MCR 或 MVE 相互连接,从而实现企业对企业的 VXC。

Virtual Cross Connect (VXC)

VXC 是一条直连的二层以太网电路,在 Megaport 网络上的任意位置之间提供私有、灵活且按需的连接,支持从 1 Mbps 到高容量的多 Gbps 带宽,在部分区域还提供更高带宽级别。

作为 API 用户进行认证

在使用 Megaport API 之前,必须先使用访问令牌进行认证。在生成访问令牌之前,需要先在 Megaport Portal 中创建一个 API 密钥。有关详细信息,请参阅创建 API 密钥

API 密钥由 client ID 和 client secret 组成。可用它来生成用于作为 API 用户进行认证的访问令牌。

访问令牌的有效期为 24 小时,之后需要重新生成。与 Megaport API 的集成需要考虑这一点。有关详细信息,请参阅生成访问令牌

管理接入点

当客户请求与您建立连接时,您需要将该连接的区域或分区映射到物理接入点,以生成服务密钥。

本节介绍如何通过 API 调用,将用户的服务区域或分区映射到您的 Megaport 接入点。Megaport 的位置与产品标识符是固定的,因此可以安全地缓存或存储,无需每次刷新。

以下说明展示如何使用 Postman 和 Megaport API 集合来完成此操作。有关 Postman 设置的更多信息,请参阅Megaport API 概览

先决条件

本节假设您已:

列出接入点位置

本任务说明如何使用位置标识符查询并列出可用的接入点位置(本场景中为 Port 所在位置)。

列出接入点位置的方法

注意

此示例使用 Ports,但您也可以使用 MCRs 和 MVEs。

  1. 当客户请求连接到接入点(例如 Port)后,使用 Get Product List API(获取产品列表 API) 并通过 "provisioningStatus": "LIVE" 查询您拥有的所有在用 Ports。

    GET /v2/products?provisioningStatus=LIVE
    
  2. 使用 country 值对响应进行筛选并列出。

         "locationId": 60,
         "location": "CoreSite LA1",
         "locationDetail": {
             "name": "CoreSite LA1",
             "city": "Los Angeles",
             "metro": "Los Angeles",
             "country": "USA"
    

    在我们的场景中,列表如下:

    • USA
    • UK
    • Japan
    • Australia
  3. 在您的客户选择地区(美国)后,请根据 metro 值进行筛选和列出响应结果。

         "locationId": 60,
         "location": "CoreSite LA1",
         "locationDetail": {
             "name": "CoreSite LA1",
             "city": "Los Angeles",
             "metro": "Los Angeles",
             "country": "USA"
    

    在我们的场景中,列表如下:

    • Los Angeles
    • New York
  4. 在您的客户选择地区(US-West)后,请根据 locationId 值进行筛选和列出响应结果。

         "locationId": 60,
         "location": "CoreSite LA1",
         "locationDetail": {
             "name": "CoreSite LA1",
             "city": "Los Angeles",
             "metro": "Los Angeles",
             "country": "USA"
    

    在我们的场景中,列表如下:

    • “locationId”: 59
    • “locationId”: 60

将接入点位置映射到用户自定义区域或分区

您可以使用列出的位置信息标识符,例如 locationIdmetrocountry,并将其映射到预定义的自定义区域或分区名称。

通过将可用的接入点(如 Los Angeles 1(“locationId”: 59)和 Los Angeles 2(“locationId”: 60))映射到预定义的 US-West 区域,您的客户即可在平台上选择 US-West,并连接到其中一个可用接入点。

选择接入点

您可以使用 API 来确定要连接到哪个接入点,例如连接到使用率最低的 Port。可以综合考虑连接数量、容量或利用率等因素。此外,还可考虑多样性分区等因素以进行冗余管理。

使用已筛选的 Ports 响应来评估 Port 的属性,如下所示:

属性 考量点
diversityZone 检查当前位置是否支持多样性。
有关详细信息,请参阅 Port 多样性
portSpeed 检查该 Port 的可用速率。
rateLimit VXC 的速率限制不能超过最低速率 Port 的速率。
有关详细信息,请参阅连接概览
associatedVxcs 检查该 Port 是否已关联 VXC,以及已分配的容量。
maxVxcSpeed 检查该 Port 可用的最大 VXC 速率。
vxcPermitted 确保 vxcPermitted 为 true。若 vxcPermitted 为 false,则无法向该 Port 创建 VXC。

在综合考虑所选 Ports 后,您可以展示满足要求的 Port,例如使用率最低的 Port。有关更多信息,请参阅Megaport API 概览

管理连接

通过遵循管理服务密钥和 VLAN ID 的最佳实践,您可以保持连接的有序与安全。

管理服务密钥

服务密钥允许您的客户连接到您特定的接入点。

管理服务密钥包括创建、共享和监控服务密钥。

如下图所示,并在下文进行更详细说明:

展示下方详细说明的服务密钥工作流程的流程图

在选择了接入点服务后,您可以为该接入点创建服务密钥。创建服务密钥对您没有额外费用,无论客户是否使用该密钥。

将服务密钥分享给客户。您也可以为客户创建一个工作流程,概述使用收到的服务密钥所需的步骤和预估时间。

作为前提条件,您的客户必须拥有 Megaport 账户并具备可用的 Port。

使用服务密钥,客户可以创建 VXC 并基于您指定的参数连接到接入点。客户需承担所选接入点位置对应的 VXC 费用。

使用 GET List Service Keys(获取服务密钥列表) API 持续监控并跟踪服务密钥状态。例如,检查您创建并发送给客户的服务密钥是否已被使用。客户使用服务密钥后,该密钥即失效,且不会保留服务密钥 ID。这意味着服务密钥与其激活的服务之间不存在关联。

服务密钥与具体服务绑定。为确保在发生故障或中断时具备冗余与弹性,建议在不同多样性分区创建接入点。在此情况下,您还需要为每个接入点分别创建服务密钥,例如:

  • Los Angeles 1(蓝色多样性区域)1 个密钥
  • Los Angeles 2(红色多样性区域)1 个密钥

您可以创建单次使用或多次使用的服务密钥。使用单次服务密钥时,被分享该密钥的客户只能请求到特定接入点的一条连接。使用多次服务密钥时,被分享该密钥的客户可以请求多条连接,此时系统会自动分配下一个可用的 VLAN ID。

管理 VLAN ID

对于单次服务密钥,请指定一个 VLAN ID,您可以用它将客户与其对应的 VXC 关联。当为服务密钥分配 VLAN ID 时,表示该 VXC 专属于某个特定客户。每个 VXC 都作为单独的 VLAN 交付至您的接入点。该 VLAN ID 在此接入点上必须唯一,取值范围为 2 到 4093。

注意

对于单次服务密钥,您也可以指定 untagged,即不分配 VLAN ID。有关详细信息,请参阅设置服务密钥

下图展示了您为每个客户分配不同 VLAN ID 的示例:

  • VLAN ID 100 分配给客户 1
  • VLAN ID 200 分配给客户 2

您分配的 VLAN ID(100 和 200)可以与客户分配的 VLAN ID(123 和 10)不同,也可以与他们其他 Port 连接(例如到 AWS、Oracle 或 Azure 等云服务提供商的连接)的 VLAN ID(124、125 和 20)不同

显示服务提供商分配的VLAN ID可能与客户分配的VLAN ID不同的场景

有关更多信息,请参阅设置服务密钥使用 API 创建服务密钥

摘要

本主题介绍了如何高效管理客户到您接入点的连接。

通过使用 Megaport API 查询 Ports、基于容量与多样性等因素选择 Ports,您可以将流程自动化,减少人工操作并实现快速开通服务。

使用到的 API 总结

下表展示了本场景中的流程及所使用的 API:

注意

此示例使用 Ports,但 MCRs 和 MVEs 的流程相同。

服务提供商客户的操作 服务提供商的操作 使用的 API 请求与筛选值 结果
在服务提供商平台上,请求连接到接入点。 列出有在用 Ports、MCRs 或 MVEs 的区域。 GET /v2/products?
provisioningStatus=LIVE

列出 "country" 值。
  • 美国
  • 英国
  • 日本
  • 澳大利亚
选择一个区域(美国)。 列出美国境内有在用 Ports、MCRs 或 MVEs 的城市。 GET /v2/products?
provisioningStatus=LIVE
&country=USA

列出 “metro" 值。
  • 洛杉矶
  • 纽约
列出洛杉矶的 Ports。

将可用的 Ports(例如 Los Angeles 1(”locationId”: 59)和 Los Angeles 2(”locationId”: 60))映射到名为 US-West 的区域。之后,您的客户可以在平台上连接到 US-West 中的任一可用 Port。

决定向客户提供哪个接入点,需考虑容量/使用率与多样性。
GET /v2/products?
provisioningStatus=LIVE
&country=USA&metro=Los Angeles

列出 "locationId" 值。
  • Equinix LA1(“locationId”: 59)
  • CoreSite LA1(“locationId”: 60)
选择 US-West 并添加多样性。 为所选 Ports 创建服务密钥。

将服务密钥返回给客户。
POST /v2/service/key

必需值:”productUid
为以下对象创建 2 个独立密钥:
  • Los Angeles 1(蓝色分区)
  • Los Angeles 2(红色分区)
示例密钥:
“key”: “106e38ae-eb59-415f-ac81-526a5299851d”,
使用服务密钥创建连接。

将 Megaport 集成到您的平台

有关如何将 Megaport 集成到您的平台的示例,请参阅演示项目 https://github.com/megaport/megaportgo.