以服務供應商身分使用 Megaport 的 API 管理連線
服務供應商可以將 Megaport 的功能無縫整合到其平台。他們可以控管客戶對其 on-ramp 的存取,例如 Ports。
服務供應商可以使用 service key 來管理客戶存取並保護連向其 on-ramp 的連線。他們可以設定特定的速率限制,並使用 VLAN 區隔客戶流量。
服務金鑰是一種由一位 Megaport 帳戶持有人提供給另一位的代碼,用於將兩個獨立的企業連接在一起。 擁有獨立 Megaport 帳戶的客戶可以透過 Megaport 網路將其 Ports、 MCRs、 或 MVEs 彼此相連,從而實現企業對企業的 VXCs。
在允許客戶使用 service key 連線到 on-ramp 之前,服務供應商必須先連上 Megaport 網路。連線完成後,必須:
- 決定哪些連線要作為 on-ramp
- 將這些 on-ramp 位置對映到其使用者自訂的區域或分區
- 為備援管理考量容量與 diversity 區域
本主題說明你作為服務供應商,如何使用 Megaport API 降低手動作業,並更快速佈建服務。如此可更容易向你的客戶銷售私有連線。
情境
QuantumGPU 是一家位於加州洛杉磯的中小型服務供應商,提供自助、隨選的 GPU-as-a-Service (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(服務供應商)計畫實作以下情境:

相關術語
請先熟悉本主題中使用的下列術語:
Megaport Cloud Router (MCR)
MCR 是一項受管理的虛擬路由器服務,可在全球範圍的 Megaport 軟體定義網路 (SDN) 上建立 Layer 3 連通性。MCR 執行個體已在關鍵的全球路由區域內的資料中心預先設定。MCR 可在多雲或混合雲網路、網路服務供應商與雲端服務供應商之間進行資料傳輸。
Megaport Virtual Edge (MVE)
MVE 是一個隨選、廠商中立的網路功能虛擬化(NFV)平台,為部署於 Megaport 的全球軟體定義網路(SDN)邊緣的網路服務提供虛擬化基礎架構。 例如 SD-WAN 與 NGFW 等網路技術可透過 Megaport Virtual Edge 直接託管於 Megaport 的全球網路上。
On-ramp
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 網路將其 Ports、 MCRs、 或 MVEs 彼此相連,從而實現企業對企業的 VXCs。
Virtual Cross Connect (VXC)
VXC 是一條直接的第 2 層 Ethernet 電路,可在 Megaport 網路上的任一據點之間提供私有、彈性且按需的連線,提供從 1 Mbps 到多 Gbps 的高容量速率,部分地區可提供更高等級。
以 API 使用者身分進行驗證
在你使用 Megaport API 之前,必須先以存取權杖進行驗證。在產生存取權杖之前,你必須先在 Megaport Portal 中建立 API 金鑰。更多資訊請參閱 建立 API 金鑰。
API 金鑰包含用戶端 ID 與用戶端密鑰。你可以使用它來產生作為 API 使用者驗證所需的存取權杖。
存取權杖有效期為 24 小時,之後必須重新產生。你在與 Megaport API 整合時需要將此納入考量。更多資訊請參閱 產生存取權杖。
管理 on-ramp
當你的客戶向你要求連線時,你需要將該連線所屬的區域或分區對映到實體 on-ramp,才能產生 service key。
本節說明用於將使用者的服務區域或分區對映到你的 Megaport on-ramp 的 API 呼叫。Megaport 的位置與產品識別碼是固定的,因此可安全快取或儲存,而不必每次重新擷取。
這些步驟示範如何使用 Postman 與 Megaport API 集合來完成。關於 Postman 設定的更多資訊,請參閱 Megaport API 概觀。
先決條件
本節假設你:
- 已將 Megaport 整合到你的平台。更多資訊請參閱 將 Megaport 整合到你的平台。
- 已以 API 使用者身分驗證。更多資訊請參閱 以 API 使用者身分進行驗證。
列出 on-ramp 位置
此作業說明如何使用位置識別碼查詢並列出你可用的 on-ramp 位置(在本情境中為 Port 位置)。
列出 on-ramp 位置
備註
此範例使用 Ports,但你也可以使用 MCRs 與 MVEs。
-
客戶提出連線到 on-ramp(例如 Port)的要求後,使用 Get Product List API (取得產品清單 API),搭配
"provisioningStatus": "LIVE"來查詢你擁有的所有作用中 Ports。GET /v2/products?provisioningStatus=LIVE -
使用 country(國家) 值篩選並列出回應。
"locationId": 60, "location": "CoreSite LA1", "locationDetail": { "name": "CoreSite LA1", "city": "Los Angeles", "metro": "Los Angeles", "country": "USA"在我們的情境中,清單如下:
- USA
- UK
- Japan
- Australia
-
當您的客戶選擇區域(USA)後,請依據 metro 值篩選並列出回應。
"locationId": 60, "location": "CoreSite LA1", "locationDetail": { "name": "CoreSite LA1", "city": "Los Angeles", "metro": "Los Angeles", "country": "USA"在我們的情境中,清單如下:
- Los Angeles
- New York
-
當您的客戶選擇區域(US-West)後,請依據 locationId 值篩選並列出回應。
"locationId": 60, "location": "CoreSite LA1", "locationDetail": { "name": "CoreSite LA1", "city": "Los Angeles", "metro": "Los Angeles", "country": "USA"在本情境中,清單如下:
- “locationId”: 59
- “locationId”: 60
將 on-ramp 位置對映至使用者自訂的區域或分區
你可以使用列出的定位識別碼,例如 locationId、metro 或 country,並將它們對映到你預先定義的自訂區域或分區名稱。
將可用的 on-ramp(如 Los Angeles 1(“locationId”: 59)與 Los Angeles 2(“locationId”: 60))對映至預先定義的 US-West 區域後,你的客戶便可在你的平台上選擇 US-West,並連線到可用的 on-ramp。
選擇 on-ramp
你可以使用 API 來判斷要連線到哪個 on-ramp,例如選擇使用量最低的 Port。你可以考量連線數量、容量或使用率等因素;此外,也可考量 diversity 區域以管理備援。
使用篩選後的 Ports 回應,評估下列 Port 屬性:
| 屬性 | 考量 |
|---|---|
| diversityZone | 檢查目前位置是否支援 diversity。 更多資訊請參閱 Port 多樣性。 |
| portSpeed | 檢查該 Port 可用的速率。 |
| rateLimit | VXC 的速率上限不得超過最低速 Port 的速率。 更多資訊請參閱 連線概觀。 |
| associatedVxcs | 檢查該 Port 是否已關聯 VXC,以及已配置的容量。 |
| maxVxcSpeed | 檢查該 Port 可用的最高 VXC 速率。 |
| vxcPermitted | 確認 vxcPermitted 為 true。若 vxcPermitted 為 false,則無法建立連向該 Port 的 VXC。 |
評估所選 Ports 後,你可以顯示符合需求條件的 Port,例如使用量最低者。更多資訊請參閱 Megaport API 概觀。
管理連線
依循管理 service key 與 VLAN ID 的最佳做法,可維持連線的有序與安全。
管理 service key
service key 可讓你的客戶建立至你特定 on-ramp 的連線。
管理 service key 包括建立、分享與監控這些 service key。
以下圖示與說明提供更多細節:

選取 on-ramp 服務後,你可以建立指向該 on-ramp 的 service key。無論客戶是否使用該金鑰,建立 service key 對你不會產生額外費用。
將 service key 分享給你的客戶。你也可以為客戶建立一個工作流程,說明使用所收到 service key 的必要步驟與預估時程。
先決條件是,你的客戶必須擁有 Megaport 帳戶,且有可用的 Port。
使用 service key,你的客戶即可建立 VXC,並依你所指定的參數連線到 on-ramp。客戶需負擔與所選 on-ramp 位置相關的 VXC 費用。
使用 GET List Service Keys (GET 列出 Service Key) API,持續監控並追蹤你的 service key 狀態。例如,檢查你建立並傳送給客戶的 service key 是否已被使用。當客戶使用完該 service key 後,它即失效,且不會保留 service key ID。這表示 service key 與其所啟用的服務之間沒有關聯。
service key 與服務一對一。為確保在發生故障或中斷時具備備援與韌性,建議你在不同 diversity 區域建立 on-ramp。此時也必須為每個 on-ramp 分別建立 service key,例如:
- Los Angeles 1(blue diversity 區域)1 組 service key
- Los Angeles 2(red diversity 區域)1 組 service key
你可以建立單次使用或多次使用的 service key。對於單次使用的 service key,你分享對象的客戶只能要求連線至特定 on-ramp 的一條連線;對於多次使用的 key,你分享對象的客戶可以要求多條連線。在此情況下,系統會自動配置下一個可用的 VLAN ID。
管理 VLAN ID
對於單次使用的 service key,請指定一個 VLAN ID,你可以用它將客戶與其各自的 VXC 關聯。當你將 VLAN ID 指定給 service key,即表示該 VXC 專屬於特定客戶。每條 VXC 都會以獨立的 VLAN 方式交付到你的 on-ramp。此 VLAN ID 在該 on-ramp 上必須唯一,且可設定範圍為 2 到 4093。
備註
對於單次使用的 service key,你也可以指定 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)不同

更多資訊請參閱 設定服務金鑰 與 使用 API 建立 Service Key。
摘要
本主題說明如何有效管理客戶連線至你的 on-ramp。
使用 Megaport API 查詢 Ports,並依容量、diversity 等條件選擇 Port,你可以自動化流程,減少手動作業並加速服務佈建。
使用到的 API 摘要
下表顯示本情境的流程與所用 API:
備註
此範例使用 Ports,但對 MCRs 與 MVEs 亦適用相同流程。
| 服務供應商客戶的動作 | 服務供應商的動作 | API 請求與用於篩選的值 | 結果 |
|---|---|---|---|
| 在服務供應商的平台上,要求連線到 on-ramp。 | 列出具有作用中 Ports、MCRs 或 MVEs 的區域。 | GET /v2/products? provisioningStatus=LIVE 列出 "country" 值。 |
|
| 選取區域(美國)。 | 列出美國中具作用中 Ports、MCRs 或 MVEs 的城市。 | GET /v2/products? provisioningStatus=LIVE &country=USA 列出 “metro" 值。 |
|
| 列出 Los Angeles 的 Ports。 將可用的 Ports(例如 Los Angeles 1 (“locationId”: 59) 與 Los Angeles 2 (“locationId”: 60))對映到名為 US-West 的區域。如此一來,在你的平台上,客戶可以連線到 US-West 中任一可用的 Port。 決定要提供給客戶的 on-ramp。考量容量/使用率與 diversity。 |
GET /v2/products? provisioningStatus=LIVE &country=USA&metro=Los Angeles 列出 "locationId" 值。 |
|
|
| 選取 US-West 並新增 diversity。 | 為所選 Ports 建立 service key。 將 service key 傳送給你的客戶。 |
POST /v2/service/key 必要值: "productUid" |
會建立 2 組獨立的 service key,分別對應:
“key”: “106e38ae-eb59-415f-ac81-526a5299851d”, |
| 使用 service key 建立連線。 |
將 Megaport 整合至你的平台
如需如何將 Megaport 整合到你的平台的範例,請參閱示範專案: https://github.com/megaport/megaportgo。