跳转至

使用 API 创建 MCR VXC

本主题介绍使用 API 创建 MCR VXC 的流程。第一个示例在 US 市场创建一个 AWS Hosted Connection——这是较为复杂的配置之一。其他 CSP 的模板稍后在本主题中提供。

有关更多信息,请参见 API 参考中的 POST Validate MCR VXC Order (v3)

使用 Hosted Connection 在 MCR 与 AWS 间创建 VXC

此示例在 US 市场创建一个 AWS Hosted Connection。步骤包括:

  • 获取 MCR 的产品 ID
  • 查找可用 US 市场的位置 ID
  • 验证并订购 VXC
  • 配置两个静态路由
  • 配置 BGP边界网关协议(BGP)是一种标准化的路由协议,用于在互联网中的自治系统(AS)之间交换路由与可达性信息。
    连接 – 一个包含 MED多出口鉴别符 (MED) 是一种 BGP 路径属性,当候选路由由同一自治系统 (AS) 通告且该 AS 存在多个入口时,可影响 BGP 邻居选择首选路由。较小的 MED 度量值优先于较大的度量值。
    详细信息,另一个不包含。

开始之前,请获取有效的访问令牌。有关更多信息,请参见 创建 API Key

要创建 VXC,我们需要 MCR 的 productUid

获取 MCR 的 productUid

  1. 获取产品列表。

    GET {baseUrl}/v2/products/
    
  2. 从返回的产品详情中,找到要连接的 MCR 的 productUid 值。

    本示例使用以下值:fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0

接下来,查找支持 AWS Hosted Connections 的目标 US 市场的 location ID。

在 US 市场中查找可用 AWS Hosted Connections 的 locationId

  1. 获取 Megaport 与云服务提供商的所有接口列表。

    GET {baseUrl}/v2/dropdowns/partner/megaports
    

    可以按 connectTypevxcPermitted 筛选结果。

    GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWSHC&vxcPermitted=true
    
  2. 点击放大镜,按位置条件在响应中搜索匹配的站点。

    在本示例中,选择 “US West (Oregon) (us-west-2) [DZ-RED]”,其 “locationId”: 57。

{
            "connectType": "AWSHC",
            "productUid": "f274bd09-1796-43af-8837-28fa4fa2a1ab",
            "vxcPermitted": true,
            "companyUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
            "companyName": "AWS",
            "title": "US West (Oregon) (us-west-2) [DZ-RED]",
            "locationId": 57,
            "speed": 10000,
            "rank": 275,
            "lag_id": 5,
            "lag_primary": true,
            "aggregation_id": 106462
        },

注意

[DZ-RED] 表示红色多样性区(Red diversity zone)。每个 AWS Hosted Connection 站点都提供两个多样性区以实现冗余:DZ-Red 和 DZ-Blue。

通过 MCR ID 和 AWS 位置 ID,您可以创建一个 VXC。

创建 VXC

  1. 使用以下 URL 创建请求:

    POST {baseUrl}/v3/networkdesign/buy
    

    提示

    若要在下单前测试您的请求,您可以使用: POST {baseUrl}/v3/networkdesign/validate

  2. 在请求中添加以下头信息:

    • Content-Type: application/json
    • Authorization: Bearer {your accessToken}
  3. 根据配置详情创建请求的 Body。

    此示例采用 MCR 产品 ID,B 端的 AWS 位置 ID,创建了两条静态路由,并配置了 BGP 连接——一个连接带有 MED 详情,另一个没有。以下章节将详细介绍静态路由和 BGP 连接。

[
  {
    "productUid": "fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0",
    "associatedVxcs": [
      {
        "rateLimit": 100,
        "productName": "awshc",
        "term": 12,
        "shutdown": false,
        "promoCode": "promox3mnthfree2",
        "aEnd": {
          "locationId": 320,
          "vlan": 0,
          "partnerConfig": {
            "connectType": "VROUTER",
            "interfaces": [
              {
                "vlan": null,
                "ipMtu": 5000,
                "ipAddresses": [
                  "10.191.0.25/29",
                ],
                "bgpConnections": [
                  {
                    "peerAsn": 62512,
                    "localIpAddress": "10.191.0.25",
                    "peerIpAddress": "10.191.0.26",
                    "password": "cnn6eaeaETSjvjvjvjv",
                    "importWhitelist": null,
                    "importBlacklist": null,
                    "exportWhitelist": null,
                    "exportBlacklist": null,
                    "shutdown": false,
                    "description": "BGP with MED and BFD enabled",
                    "medIn": 100,
                    "medOut": 100,
                    "bfdEnabled": true
                  },
                  {
                    "peerAsn": 62511,
                    "localIpAddress": "10.191.0.27",
                    "peerIpAddress": "10.191.0.28",
                    "password": "cnn23049asdkfj",
                    "importWhitelist": null,
                    "importBlacklist": null,
                    "exportWhitelist": null,
                    "exportBlacklist": null,
                    "shutdown": false,
                    "description": "BGP without MED or BFD",
                    "medIn": null,
                    "medOut": null,
                    "bfdEnabled": false
                  }
                ],
                "ipRoutes": [
                  {
                    "prefix": "10.0.0.0/24",
                    "nextHop": "10.191.0.26",
                    "description": "test static route 1"
                  },
                  {
                    "prefix": "10.0.1.9/24",
                    "nextHop": "10.191.0.27",
                    "description": "test static route 2"
                  }
                ],
                "natIpAddresses": []
              }
            ]
          }
        },
        "bEnd": {
          "locationId": 57,
          "ownerUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
          "productUid": "d5518ee1-e915-4e3d-a4e1-a2c7e04f2fdd",
          "vlan": 0,
          "partnerConfig": {
            "name": "awshc",
            "ownerAccount": "XXXXXXXXXXXX",
            "connectType": "AWSHC"
          }
        },
        "productType": "VXC",
        "connectType": "AWSHC"
      }
    ]
  }
]

静态路由

您可以通过在 A 端合作伙伴配置对象的 interfaces 数组中添加 ipRoutes 数组,为每个界面创建多条静态路由:

"ipRoutes": [
  {
    "prefix": "10.0.0.0/24",
    "nextHop": "10.191.0.26",
    "description": "test static route 1"
  },
  {
    "prefix": "10.0.1.9/24",
    "nextHop": "10.191.0.27",
    "description": "test static route 2"
 }
],
空的 ipRoutes 数组表示没有静态路由。

属性 描述 必须 有效输入
prefix 需要路由到 nextHop 的 IP 前缀(IPv4 和 IPv6) IP 前缀 v4/v6 - 如未提供掩码,则地址视为主机地址(/32)
nextHop 下一跳地址 IP 地址 v4/v6 - 必须与界面处于同一子网,但不能是界面 IP
description 静态路由的可选描述 字符串 - 最长100个字符

BGP 连接

您可以通过在 A 端合作伙伴配置对象的 interfaces 数组中添加 bgpConnections 数组,为每个界面创建多个 BGP 连接:

"bgpConnections": [
  {
    "peerAsn": 62512,
    "localIpAddress": "10.191.0.25",
    "peerIpAddress": "10.191.0.26",
    "password": "cnn6eaeaETSjvjvjvjv",
    "importWhitelist": null,
    "importBlacklist": null,
    "exportWhitelist": null,
    "exportBlacklist": null,
    "shutdown": false,
    "description": "BGP with MED and BFD enabled",
    "medIn": 100,
    "medOut": 100,
    "bfdEnabled": true
  },
  {
    "peerAsn": 62511,
    "localIpAddress": "10.191.0.27",
    "peerIpAddress": "10.191.0.28",
    "password": "cnn23049asdkfj",
    "importWhitelist": null,
    "importBlacklist": null,
    "exportWhitelist": null,
    "exportBlacklist": null,
    "shutdown": false,
    "description": "BGP without MED or BFD",
    "asPathPrependCount": "3",
    "bfdEnabled": false
  }
],
属性 描述 必须 有效输入
peerAsn 远程 BGP 对等体的 ASN。 合法 ASN - 整数范围 1 - 4294967294
localAsn 本地 ASN 可用于此 BGP 对等体覆盖 MCR 的 ASN。大多数情况下建议保持默认。 合法 ASN - 整数范围 1 - 4294967294

若 peerAsn == mcrAsn,则不可设置 localAsn

若 peerAsn != mcrAsn,localAsn 不能与 peerAsn 相同
localIpAddress 本界面用于与 BGP 对等体通信的 IPv4 或 IPv6 地址。 合法 IP 地址 v4/v6。必须是该界面的 IP 地址
peerIpAddress BGP 对等体的 IP 地址。 合法 IP 地址 v4/v6
password 用于对 BGP 对等体进行身份验证的共享密钥,最多32个字符。 0-32个字符
importWhitelist 入方向前缀过滤(permit)。MCR 对邻居入站 BGP 路由通告应用前缀过滤。未匹配到此列表中前缀的路由将被最早拒绝且永远不会被 MCR 使用。 1-100个字符
importBlacklist 入方向前缀过滤(deny)。MCR 对邻居入站 BGP 路由通告应用前缀过滤。匹配到此列表中前缀的路由将被阻止,其他前缀允许进入 MCR 路由表。 1-100个字符
exportWhitelist 出方向前缀过滤(permit)。MCR 对出口路由应用前缀过滤。匹配前缀列表的路由通告给 BGP 邻居,其它路由被过滤。 1-100个字符
exportBlacklist 出方向前缀过滤(deny)。MCR 对出口路由应用前缀过滤。匹配前缀列表的路由不会通告给 BGP 邻居,其它路由将被通告。 1-100个字符
shutdown 默认情况下,BGP 连接是启用的,会主动尝试连接对等体。选择 shutdown 可暂时禁用 BGP 会话而无需移除,此功能适用于排错或测试故障切换场景。 true/false - 默认值为 false
description BGP 连接的可选描述 0-100个字符
medIn 该 MED 会应用于此 BGP 连接接收到的所有路由。不填写将使用 BGP 对等体提供的值。数值越小,路由优先级越高。 支持 0 至 4,294,967,295 之间的值
medOut 该 MED 会应用于此 BGP 连接发出的所有路由。邻近自治系统可选择性优先数值较小的路由。 支持 0 至 4,294,967,295 之间的值
asPathPrependCount asPathPrependCount 是一个整数,表示本地 AS 号在对等体出站 BGP 通告中的重复次数。 可接受范围为 1-10
bfdEnabled 双向转发检测(BFD)可为此 BGP 连接实现快速故障检测。当连接中断时,BGP 会话会立即终止,无需等待 BGP 保持计时器到期。当有多条路由可用时,BFD 可能提升故障切换速度。 true/false -
默认值为 false
可选

双向转发检测 (BFD)

bfd 配置对象适用于界面上所有 bfdEnabled = true 的 BGP 连接。

BFD 设置不可编辑。启用 BFD 时配置的默认值如下:

  • Transmit IntervalBGP 邻居向对端发送用于存活检测的 BFD 报文的最小发送间隔。
    : 300 milliseconds
  • Receive IntervalBGP 邻居向该接口发送用于存活检测的 BFD 报文的最小发送间隔。
    : 300 milliseconds
  • MultiplierBGP 会话被判定为中断前允许丢失的 BFD 报文最小数量。
    : 3

注意

这些设置将应用于该 VXC 上启用了 BFD 的所有 BGP 连接。

AWS、Azure 和 Google 的自动配置

对于 Azure、AWS Hosted VIF 和 Google,Megaport 可以为 MCR 与 CSP 侧配置 IP 地址和 BGP 详情,确保 BGP 能够正常运行。这也最大程度减少了 CSP 和 Megaport 门户之间的切换次数。

虽然 Portal 默认执行自动配置,您也可以通过 API 触发 BGP 自动配置。 当 partnerConfig 中的 interfaces 键不存在或为 null 时,将触发该功能。

为 CSP 配置 BGP 对等

  1. 使用以下 URL 创建请求:

    POST {baseUrl}/v3/networkdesign/buy
    
  2. 在请求中添加以下头信息:

    • Content-Type: application/json
    • Authorization: Bearer {your accessToken}
  3. 使用配置详细信息创建请求正文。

    此处为最常用的云服务提供商提供了不同的模板。

AWS 托管 VIF

{
"productUid": "{{mcrid}}",
"associatedVxcs": [
 {
   "productName": "Test AWS VIF VXC",
   "rateLimit": 100,
   "term": 12,
   "aEnd": {
     "vlan": 0
   },
   "bEnd": {
     "productUid": "{{awsPortUid}}",
     "partnerConfig": {
       "connectType": "AWS",
       "type": "private",
       "ownerAccount": "{{yourAWSAccountNumber}}"
     }
   }
 }
]
}

Google Cloud

{
   "productUid": "{{mcrid}}",
   "associatedVxcs": [
    {
     "productName": "Test Google VXC",
     "rateLimit": 100,
     "term": 12,
     "aEnd": {
       "vlan": 0
     },
     "bEnd": {
       "productUid": "{{googlePortUid}}",
       "partnerConfig": {
         "connectType": "GOOGLE",
         "pairingKey": "{{googlekey}}"
       }
     },
     "productType": "VXC"
    }
   ]
}

Microsoft Azure

有关 Azure 配置详情,请参见使用 API 在 MCR 与 Microsoft Azure 之间创建 VXC