跳轉到

使用 API 在 MVE 與 AWS 之間建立 VXC

本主題說明使用 API 從 MVE 建立至 AWS 的 VXC 流程,包括如何查詢 AWS 位置,以及在特定 vNIC 上訂購 VXC。

您可以為 MVE 設定兩種類型的 AWS 連線:AWS Hosted VIF 與 AWS Hosted Connection。

您可以使用 connectType 屬性區分合作夥伴位置所支援的連線類型。Hosted VIF 連線為 connectType=AWS,Hosted Connection 為 connectType=AWSHC。

MVE 到 AWS 的部署包含下列工作:

  1. 查詢 AWS 位置詳細資料

    若要建立到 AWS 的 VXC,您首先需要識別要連線之連接埠的 productUid

    您可以使用 v2/dropdowns/partner/megaports 端點查詢此連線 B 端的 AWS 位置。

  2. 建立並部署 VXC

    識別出連接埠詳細資料後,您可以從 MVE 建立到 AWS 的 VXC。

    組態詳細資料會在要求的 Body 中指定。您需要指定的一些關鍵資訊包括 MVE 的 productUid、AWS 連接埠的 productUid,以及 AWS 帳戶 ID。

在開始之前,先取得有效的存取權杖。 如需詳細資訊,請參閱 建立 API 金鑰

查詢 AWS 位置詳細資料

使用 API 查詢要連線之連接埠的 productUid。 回應包含可用連接埠的詳細資料。 您需要這些連接埠詳細資料來建立 VXC。

在 API 回應中,接受 VXC 的可用連接埠會顯示為 “vxcPermitted”: true

查詢 AWS 位置詳細資料

  1. 展開左側導覽中的 Locations(位置) 資料夾,然後按一下 GET Partner Megaports(取得合作夥伴 Megaports)

  2. 按一下 Send(送出) 以對 API 伺服器發出 GET 要求。

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

    此請求會傳回 Megaport 與雲端服務供應商的所有介面。您可以按一下放大鏡,並在搜尋欄位輸入位置、資料中心或其他參數來搜尋。

    connectType 會指示雲端服務供應商。AWS 的 Hosted VIF 包含 “AWS”,Hosted Connection 則為 “AWSHC”。

    您可以依 connectTypevxcPermitted 篩選結果。

    GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWS&vxcPermitted=true
    

    此範例使用區域 eu-west-2(London)中可接受 VXC 的連接埠(“vxcPermitted”: true)。

      {
           "productUid": "b9dcbdca-b73a-4fc9-9ac9-98cecde81ba2",
           "companyUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
           "companyName": "AWS",
           "title": "EU (London) (eu-west-2)",
           "locationId": 90,
           "speed": 10000,
           "maxVxcSpeed": 10000,
           "vxcPermitted": true,
           "diversityZone": null,
           "rank": 378,
           "lag_id": null,
           "lag_primary": false,
           "aggregation_id": null,
           "connectType": "AWS"
      },

建立並部署 VXC Hosted VIF

利用通訊埠詳細資料,從 MVE 建立到 AWS 的 VXC。

您需要在請求的 Body 中指定設定詳情。第一個 productUid 代表 MVE 的 ID,而 bEnd: productUid 則代表從合作夥伴 Megaports 查詢到的 AWS 通訊埠位置。您還需要在請求中提供 AWS 帳號。

此範例使用 Hosted VIF 連線類型,connectType=AWS。

提示

若要在下單前測試您的請求並查看價格細節,請使用 /v3/networkdesign/validate 端點,Body 內容相同。

建立 VXC

  1. 使用 POST Buy AWS - Hosted VIF (v3) 端點建立請求:

    POST {baseUrl}/v3/networkdesign/buy
    
  2. 於請求的 Body 中,填入 MVE 的 productUid、VXC 的名稱、AWS 通訊埠的 productUid 以及 AWS 帳戶 ID (ownerAccount)。 您也可以變更其他數值,例如頻寬限制、合約期間、VLAN ID、ASN 參數、authKey 及 IP 配置。vNIC 由 vNicIndex 決定,innerVlan 則指定此 vNIC 內部使用的 VLAN 號碼,此處例子為 103。

    備註

    vNIC 編號對應至以下 MVE 介面:

    • vNIC 0 = 在 MVE 上的介面 1
    • vNIC 1 = 在 MVE 上的介面 2
    • vNIC 2 = 在 MVE 上的介面 3
    • vNIC 3 = 在 MVE 上的介面 4
    • vNIC 4 = 在 MVE 上的介面 5

    以下為範例請求:

[
 {
   "productUid": "{{ mveid }}",
   "associatedVxcs": [
     {
       "productName": "Test AWS VIF MVE VXC",
       "rateLimit": "100",
       "term": 12,
       "shutdown": false,
       "promoCode": "promox3mnthfree2",
       "aEnd": {
       "vNicIndex":2,
       "vlan": null,
         "innerVlan": 103
       },
       "bEnd": {
         "productUid": "{{ awsPortUid }}",
         "partnerConfig": {
           "connectType": "AWS",
           "Name": "Test Megaport",
           "type": "private",
           "asn": 65105,
           "ownerAccount": "XXXXXXXXXXXX",
           "authKey": "123455",
           "customerIpAddress": null,
           "amazonIpAddress": null
         }
       }
     }
   ]
 }
]

發送請求後,當 VXC 訂購完成,您將收到成功回應。

以下為範例回應:

{
    "message": "VXC [0d22feee-8d06-4041-98be-5b827c33c78a] created.",
    "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
    "data": [
       {
           "createDate": 1709811450016,
           "vxcOrderId": 139933,
           "payerMegaPortId": 190079,
           "nonPayerMegaPortId": 6199,
           "payerMegaPortName": "MVE for VNIC config",
           "nonPayerMegaPortName": "EU (London) (eu-west-2)",
           "payerCompanyId": 1153,
           "nonPayerCompanyId": 117,
           "payerLocationId": 89,
           "nonPayerLocationId": 89,
           "salesId": null,
           "payerCompanyName": "Megaport Lab",
           "nonPayerCompanyName": "AWS",
           "payerMegaPortNsId": 510708,
           "nonPayerMegaPortNsId": 13055,
           "payerVlanId": 0,
           "nonPayerVlanId": 0,
           "payerInnerVlanId": 103,
           "nonPayerInnerVlanId": null,
           "payerApproverName": "name",
           "payerApproverId": number,
           "nonPayerApproverName": "name",
           "nonPayerApproverId": number,
           "payerApproval": number,
           "nonPayerApproval":number,
           "fixedTerm": true,
           "duration": 1,
           "rollover": true,
           "serviceName": "from MVE for VNIC config to EU (London) (eu-west-2)",
           "payerStatus": "APPROVED",
           "nonPayerStatus": "APPROVED",
           "speed": 100,
           "distanceBand": "METRO",
           "intercapPath": "",
           "awsId": null,
           "promoCode": null,
           "dealUid": null,
           "rateType": "MONTHLY",
           "vxcJTechnicalServiceId": 190085,
           "vxcJTechnicalServiceUid": "0d22feee-8d06-4041-98be-5b827c33c78a",
           "provisionDate": 1709811449985,
           "orderType": "NEW",
           "monthlyDiscountAmount": null,
           "discountMonths": null,
           "amazonDirectConnectConfigDto": {
               "type": "private",
               "asn": 65105,
               "ownerAccount": "aws account ID",
               "authKey": "123455",
               "customerIpAddress": null,
               "amazonIpAddress": null,
               "prefixes": null,
               "name": null
           },
           "amsixConnectConfigDto": null,
           "sdrcProvItem": null,
           "rate": null,
           "setup": null,
           "asn": null,
           "bgpPassword": null,
           "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
           "costCentre": null,
           "azureServiceKey": null,
           "oracleVirtualCircuitId": null,
           "serviceKey": null,
           "vxc": {
               "serviceName": "Test AWS VIF MVE VXC",
               "name": "Test AWS VIF MVE VXC",
               "secondaryName": null,
               "technicalServiceId": 190085,
               "technicalServiceUid": "0d22feee-8d06-4041-98be-5b827c33c78a",
               "requestedDate": 1709811449985,
               "configuredDate": null,
               "currentEstimatedDelivery": null,
               "companyName": "Megaport Lab",
               "companyId": 1153,
               "billingContactName": null,
               "billingContactId": null,
               "adminContactName": null,
               "adminContactId": null,
               "technicalContactName": null,
               "technicalContactId": null,
               "salesName": null,
               "salesId": null,
               "billableId": 181633,
               "billableUsageAlgorithm": null,
               "productType": "VXC",
               "provisioningStatus": "DEPLOYABLE",
               "failedReason": null,
               "inAdvanceBillingStatus": null,
               "provisioningItems": [],
               "tags": [],
               "vxcDistanceBand": "METRO",
               "intercapPath": "",
               "marketplaceVisibility": true,
               "vxcPermitted": true,
               "vxcAutoApproval": false,
               "createDate": 1709811450003,
               "terminationDate": null,
               "contractStartDate": null,
               "contractTermMonths": 1,
               "rateType": "MONTHLY",
               "trialAgreement": false,
               "payerCompanyId": null,
               "nonPayerCompanyId": null,
               "minimumSpeed": null,
               "maximumSpeed": null,
               "rateLimit": 100,
               "errorMessage": null,
               "lagId": null,
               "aggregationId": null,
               "lagPrimary": null,
               "market": "UK",
               "accountManager": null,
               "promptUid": null,
               "components": [],
               "attributes": [],
               "aLocation": null,
               "bLocation": null,
               "aMetro": null,
               "aCountry": null,
               "aLocationId": null,
               "bLocationId": null,
               "bMetro": null,
               "bCountry": null,
               "attributeTags": {},
               "createdBy": "b0dedbd2-ecc7-4bad-a13b-6c34b4005115",
               "buyoutPort": null,
               "virtual": false,
               "locked": false,
               "adminLocked": false,
               "bgpShutdownDefault": false,
               "originDomain": null
           },
           "connectType": "AWS",
           "payerConfig": {},
           "nonPayerConfig": {},
           "attributeTags": {},
           "serviceLicense": null,
           "originDomain": null,
           "fullyApproved": true
       }
   ]
}

VXC 現在會顯示在 Megaport Portal 中。

在此範例中,AWS Hosted VIF 將會顯示於 AWS portal 帳戶的 Direct Connect - Virtual Interfaces 下。帳戶持有人可以接受 Virtual Interface,並將其連接至 Virtual Private Gateway 或 Direct Connect Gateway,然後連通至其 VPC。

建立並部署 VXC Hosted Connection

利用通訊埠詳細資料,從 MVE 建立到 AWS 的 VXC。

您需要在請求的 Body 中指定設定詳情。第一個 productUid 代表 MVE 的 ID,而 bEnd: productUid 則代表從合作夥伴 Megaports 查詢到的 AWS 通訊埠位置。您還需要在請求中提供 AWS 帳號。

此範例使用 Hosted Connection 連線類型,connectType=AWSHC。

提示

若要在下單前測試您的請求並查看價格細節,請使用 /v3/networkdesign/validate 端點,Body 內容相同。

建立 VXC

  1. 使用 POST Buy AWS - Hosted Connection (v3) 端點建立請求:

    POST {baseUrl}/v3/networkdesign/buy
    
  2. 於請求的 Body 中,填入 MVE 的 productUid、VXC 的名稱、AWS 通訊埠的 productUid 以及 AWS 帳戶 ID (ownerAccount)。 您也可以變更其他數值,例如頻寬限制、合約期間、VLAN ID、ASN 參數、authKey 及 IP 配置。vNIC 由 vNicIndex 決定,innerVlan 則指定此 vNIC 內部使用的 VLAN 號碼,此處例子為 666。

    備註

    vNIC 編號對應至以下 MVE 介面:

    • vNIC 0 = 在 MVE 上的介面 1
    • vNIC 1 = 在 MVE 上的介面 2
    • vNIC 2 = 在 MVE 上的介面 3
    • vNIC 3 = 在 MVE 上的介面 4
    • vNIC 4 = 在 MVE 上的介面 5

    以下為範例請求:

[
 {
   "productUid": "{{ mveid }}",
   "associatedVxcs": [
     {
       "productName": "Test AWS over Vnic2",
       "rateLimit": 100,
       "term": 12,
       "shutdown": false,
       "promoCode": "promox3mnthfree2",
       "aEnd": {
           "vNicIndex":2,
           "vlan":null,
           "innerVlan":666
       },
       "bEnd": {
         "productUid": "{{ awshcPortUid }}",
         "partnerConfig": {
           "connectType":"AWSHC",
           "ownerAccount": "XXXXXXXXXXXX",
           "name": "AWS link MVE link 2"
           }
          }
        }
     ]
   }
]

發送請求後,當 VXC 完成訂購時,您會收到一個成功的回應。

以下是一個範例回應:

{
    "message": "VXC [5668c467-17eb-47e3-beba-87b9e7784a17] created.",
    "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
    "data": [
       {
           "createDate": 1709812459883,
           "vxcOrderId": 139936,
           "payerMegaPortId": 190079,
           "nonPayerMegaPortId": 114147,
           "payerMegaPortName": "MVE for VNIC config",
           "nonPayerMegaPortName": "EU (London) (eu-west-2)",
           "payerCompanyId": 1153,
           "nonPayerCompanyId": 117,
           "payerLocationId": 89,
           "nonPayerLocationId": 90,
           "salesId": null,
           "payerCompanyName": "Megaport Lab",
           "nonPayerCompanyName": "AWS",
           "payerMegaPortNsId": 510708,
           "nonPayerMegaPortNsId": 271398,
           "payerVlanId": 0,
           "nonPayerVlanId": 0,
           "payerInnerVlanId": 666,
           "nonPayerInnerVlanId": null,
           "payerApproverName": "David Sloan",
           "payerApproverId": 41315,
           "nonPayerApproverName": "David Sloan",
           "nonPayerApproverId": 41315,
           "payerApproval": number,
           "nonPayerApproval": number,
           "fixedTerm": true,
           "duration": 1,
           "rollover": true,
           "serviceName": "from MVE for VNIC config to EU (London) (eu-west-2)",
           "payerStatus": "APPROVED",
           "nonPayerStatus": "APPROVED",
           "speed": 100,
           "distanceBand": "METRO",
           "intercapPath": "",
           "awsId": null,
           "promoCode": null,
           "dealUid": null,
           "rateType": "MONTHLY",
           "vxcJTechnicalServiceId": 190089,
           "vxcJTechnicalServiceUid": "5668c467-17eb-47e3-beba-87b9e7784a17",
           "provisionDate": 1709812459853,
           "orderType": "NEW",
           "monthlyDiscountAmount": null,
           "discountMonths": null,
           "amazonDirectConnectConfigDto": null,
           "amsixConnectConfigDto": null,
           "sdrcProvItem": null,
           "rate": null,
           "setup": null,
           "asn": null,
           "bgpPassword": null,
           "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
           "costCentre": null,
           "azureServiceKey": null,
           "oracleVirtualCircuitId": null,
           "serviceKey": null,
           "vxc": {
               "serviceName": "Test AWS over Vnic2",
               "name": "Test AWS over Vnic2",
               "secondaryName": null,
               "technicalServiceId": 190089,
               "technicalServiceUid": "5668c467-17eb-47e3-beba-87b9e7784a17",
               "requestedDate": 1709812459853,
               "configuredDate": null,
               "currentEstimatedDelivery": null,
               "companyName": "Megaport Lab",
               "companyId": 1153,
               "billingContactName": null,
               "billingContactId": null,
               "adminContactName": null,
               "adminContactId": null,
               "technicalContactName": null,
               "technicalContactId": null,
               "salesName": null,
               "salesId": null,
               "billableId": 181637,
               "billableUsageAlgorithm": null,
               "productType": "VXC",
               "provisioningStatus": "DEPLOYABLE",
               "failedReason": null,
               "inAdvanceBillingStatus": null,
               "provisioningItems": [],
               "tags": [],
               "vxcDistanceBand": "METRO",
               "intercapPath": "",
               "marketplaceVisibility": true,
               "vxcPermitted": true,
               "vxcAutoApproval": false,
               "createDate": 1709812459869,
               "terminationDate": null,
               "contractStartDate": null,
               "contractTermMonths": 1,
               "rateType": "MONTHLY",
               "trialAgreement": false,
               "payerCompanyId": null,
               "nonPayerCompanyId": null,
               "minimumSpeed": null,
               "maximumSpeed": null,
               "rateLimit": 100,
               "errorMessage": null,
               "lagId": null,
               "aggregationId": null,
               "lagPrimary": null,
               "market": "UK",
               "accountManager": null,
               "promptUid": null,
               "components": [],
               "attributes": [],
               "aLocation": null,
               "bLocation": null,
               "aMetro": null,
               "aCountry": null,
               "aLocationId": null,
               "bLocationId": null,
               "bMetro": null,
               "bCountry": null,
               "attributeTags": {},
               "createdBy": "b0dedbd2-ecc7-4bad-a13b-6c34b4005115",
               "buyoutPort": null,
               "virtual": false,
               "locked": false,
               "adminLocked": false,
               "bgpShutdownDefault": false,
               "originDomain": null
           },
           "connectType": "AWSHC",
           "payerConfig": {},
           "nonPayerConfig": {},
           "attributeTags": {},
           "serviceLicense": null,
           "originDomain": null,
           "fullyApproved": true
       }
   ]
}

VXC 現在會出現在 Megaport Portal 中。

在此範例中,AWS Hosted Connection 會出現在 AWS 入口網站帳戶的 Direct Connect - connection 底下。帳戶擁有者可以接受 Hosted Connection,並建立一個 private、 一個 public 或一個 transit VIF,並將其連線到 Virtual Private Gateway 或 Direct Connect Gateway 或 Transit Gateway,接著再連線到其 VPCs。