Erstellen eines VXC zwischen einem MCR und Microsoft Azure mit der API
Dieses Thema beschreibt das API-Verfahren zum Erstellen eines VXC von einem MCR zu Microsoft Azure ExpressRoute, einschließlich der Suche nach Azure Interconnect-Standorten und der Bestellung von VXCs.
Die Bereitstellung vom MCR zu Azure umfasst diese Aufgaben:
-
Einen ExpressRoute-Circuit in der Azure-Konsole einrichten
Nach der Bereitstellung erhalten Sie einen Service Key. Wenn Sie einen Service Key validieren, werden primäre und sekundäre Ports angezeigt und Sie können den Port für die Verbindung auswählen. Sie können den Schlüssel ein zweites Mal verwenden und eine weitere Verbindung zum ungenutzten Port erstellen.
Weitere Informationen finden Sie im Microsoft-Hilfethema Tutorial: Create and modify an ExpressRoute circuit.
-
Mit dem Service Key Ihr VXC erstellen und bereitstellen
Im Rahmen der VXC-Konfiguration können Sie den Peering-Typ auswählen.
Der Peering-Typ kann entweder private oder Microsoft sein.
Ein definierter Peering-Typ führt zu einem automatisch konfigurierten Peering mit abgestimmten Peers sowohl auf der Azure- als auch auf der Megaport-Seite sowie zu einem bereitgestellten System mit einer bekannten, funktionierenden Konfiguration. Sie können die Konfiguration nach der Bereitstellung ändern.
Bevor Sie beginnen, beschaffen Sie ein gültiges Access Token. Weitere Informationen finden Sie unter Erstellen eines API-Schlüssels.
Service Key validieren
Wenn Sie die API verwenden, um einen Azure Service Key zu validieren, enthält die Antwort ExpressRoute-Details der zugehörigen Ports und Peers. Sie benötigen die Port-Details, um die VXCs zu erstellen.
So validieren Sie den Service Key in der Postman-Collection
-
In Postman erweitern Sie in der linken Navigation Cloud Connectivity > MCR > Azure und wählen GET Look Up Azure Service Key aus.
-
Fügen Sie den Service Key zum Endpunkt hinzu.
-
Klicken Sie auf Send, um eine GET-Anfrage an den API-Server zu senden.
GET {baseUrl}/v2/secure/azure/{service_key}
Hier ist eine Beispielantwort für einen neuen Schlüssel (ohne konfigurierte VXCs):
{
"message": "Successful lookup",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": {
"managed": false,
"connectType": "AZURE",
"resource_type": "csp_connection",
"bandwidth": 200,
"service_key": "3e2480b2-b4d5-424b-976a-7b0de65a1b62",
"vlan": 3289,
"megaports": [
{
"portSpeed": 10000,
"name": "Washington DC Primary",
"state": "VA",
"description": "Azure ExpressRoute at Equinix DC2/6",
"productUid": "a7ae8a35-433e-44aa-87cb-a1b7995ab008",
"nServiceId": 32832,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"country": "USA",
"vxc": null,
"port": 14570,
"companyName": "Azure ExpressRoute",
"locationId": 67,
"productId": 14570,
"type": "primary",
"companyId": 1475
},
{
"portSpeed": 10000,
"name": "Washington DC Secondary",
"state": "VA",
"description": "Azure ExpressRoute at Equinix DC2/6",
"productUid": "07ab0ee6-7f77-41ac-bbe6-335e3ee6d182",
"nServiceId": 36431,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"country": "USA",
"vxc": null,
"port": 16108,
"companyName": "Azure ExpressRoute",
"locationId": 67,
"productId": 16108,
"type": "secondary",
"companyId": 1475
}
],
"peers": []
}
}
Weitere Informationen zu jedem Antwortfeld finden Sie unter Azure Service Key API-Antwortfelder.
Bestellen eines VXC mit Peering-Optionen
Anhand der Informationen aus dem Service Key erstellen Sie ein VXC zum primären Port und ein weiteres VXC zum sekundären Port. Stellen Sie sicher, dass Sie ein MCR in derselben Region wie die Azure-Ports wählen, die in der Service-Key-Abfrage zurückgegeben wurden.
Wenn Sie den Peering-Typ in der API-Anfrage für das VXC angeben, richtet Megaport die IP-Adressierung und die BGP-Details sowohl auf der MCR- als auch auf der Azure-Seite so ein, dass eine funktionierende BGP-Konfiguration entsteht.
Um den Peering-Typ festzulegen, fügen Sie im partnerConfig-Abschnitt ein peers-Array mit dem gewünschten Peering-Typ hinzu. Falls kein peers-Array vorhanden ist, werden die Peers aus Azure abgerufen. Wenn beim Erstellen des VXC keine Peers angegeben werden und Azure keine Peers zurückliefert (was bei neuen Service Keys normalerweise der Fall ist), wird das MCR-Peering nicht automatisch konfiguriert.
Hinweis
Die Peering-Typen werden gespeichert und können nicht geändert werden, wenn ein Schlüssel zuvor bereits verwendet wurde.
So erstellen Sie das VXC
-
Erstellen Sie eine Anfrage mit dem Endpunkt POST VXC zu Azure erstellen (v3):
POST {baseUrl}/v3/networkdesign/buyTipp
Um Ihre Anfrage vor der Bestellung zu testen, können Sie verwenden: POST {baseUrl}/v3/networkdesign/validate
-
Aktualisieren Sie den Body der Anfrage mit der
productUiddes MCR, dem Namen des VXC, derproductUiddes Azure-Ports und dem Service Key. Fügen Sie die gewünschte Peering-Option hinzu. Die maximale Bandbreite (rateLimit) ergibt sich aus dembandwidth-Wert in der Service-Key-Antwort (in diesem Beispiel 200).Das Azure-VLAN (falls angegeben) ist das äußere Tag-VLAN für Q-in-Q. Wenn Sie kein VLAN angeben, wird es automatisch bereitgestellt.
Um einen Azure-Schlüssel mit der Option “private Peering” zu verwenden, verwenden Sie diese Vorlage:
[
{
"productUid": "{{mcrid}}",
"associatedVxcs": [
{
"productName": "Azure Primary VXC",
"rateLimit": 200,
"term": 12,
"shutdown": false,
"promoCode": "promox3mnthfree2",
"aEnd": {
"vlan": 0
},
"bEnd": {
"productUid": "{{azurepuid}}",
"vlan": "{{azurevlan}}",
"partnerConfig" : {
"connectType": "AZURE",
"serviceKey": "{{azurekey}}",
"peers": [{"type": "private"}]
}
}
}
]
}
]
Für Microsoft-Peering verwenden Sie diese Zeile für das peers-Array:
Für beide Peering-Typen (Microsoft und private) verwenden Sie diese Zeile:
Nachdem Sie ein VXC für den primären Azure-Port erstellt haben, erstellen Sie ein weiteres VXC, das mit dem productUid des sekundären Azure-Ports verbunden ist (ändern Sie productName und bEnd: productUid entsprechend).
Konfigurierte Antwort
Wenn Sie die VXCs mit Peering erstellen, zeigt eine erneute Service-Key-Validierungsanfrage die vollständige Konfiguration an.
{
"message": "Successful lookup",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": {
"managed": true,
"connectType": "AZURE",
"resource_type": "csp_connection",
"bandwidth": 200,
"service_key": "3e2480b2-b4d5-424b-976a-7b0de65a1b62",
"vlan": 3289,
"megaports": [
{
"portSpeed": 10000,
"name": "Washington DC Primary",
"state": "VA",
"description": "Azure ExpressRoute at Equinix DC2/6",
"productUid": "a7ae8a35-433e-44aa-87cb-a1b7995ab008",
"nServiceId": 32832,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"country": "USA",
"vxc": 60574,
"port": 14570,
"companyName": "Azure ExpressRoute",
"locationId": 67,
"productId": 14570,
"type": "primary",
"companyId": 1475
},
{
"portSpeed": 10000,
"name": "Washington DC Secondary",
"state": "VA",
"description": "Azure ExpressRoute at Equinix DC2/6",
"productUid": "07ab0ee6-7f77-41ac-bbe6-335e3ee6d182",
"nServiceId": 36431,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"country": "USA",
"vxc": 60575,
"port": 16108,
"companyName": "Azure ExpressRoute",
"locationId": 67,
"productId": 16108,
"type": "secondary",
"companyId": 1475
}
],
"peers": [
{
"peer_asn": 133937,
"shared_key": null,
"primary_subnet": "169.254.167.176/30",
"secondary_subnet": "169.254.167.180/30",
"vlan": 100,
"type": "private"
},
{
"peer_asn": 133937,
"shared_key": null,
"prefixes": "117.18.81.116/30,117.18.81.120/30",
"primary_subnet": "117.18.81.116/30",
"secondary_subnet": "117.18.81.120/30",
"vlan": 200,
"type": "microsoft"
}
]
}
}