Erstellen eines VXC zwischen einem MVE und Microsoft Azure mit der API
Dieses Thema beschreibt das API-Verfahren, um einen VXC von einem MVE zu Microsoft Azure ExpressRoute zu erstellen. Die Konfiguration erfolgt in zwei Schritten: Zuerst rufen Sie mit dem Azure Service Key die Azure-Interconnect-Standorte ab, dann können Sie den VXC zu einer bestimmten vNIC auf Ihrem MVE erstellen.
Hinweis
Bevor Sie eine Verbindung zu Azure herstellen können, müssen Sie in der Azure-Konsole einen ExpressRoute-Circuit einrichten. Nach der Einrichtung erhalten Sie einen Service Key mit Verbindungsdetails. Um Ihre MVE-Verbindung zu Azure zu konfigurieren, rufen Sie die Details des Service Keys ab und erstellen anschließend VXCs zu den Azure-Ports.
Die Bereitstellung vom MVE zu Azure umfasst diese Aufgaben:
-
Einrichten eines ExpressRoute-Circuits in der Azure-Konsole
Nach der Bereitstellung erhalten Sie einen Service Key. Wenn Sie einen Service Key validieren, werden Ihnen 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.
-
Azure Service Key validieren
Wenn Sie einen Azure-Dienst bestellen, verwenden Sie den Service Key und stellen Sie sicher, dass ein freier Port für eine Verbindung verfügbar ist.
Die API-Antwort enthält ExpressRoute-Details zu den zugeordneten Ports und Peers. Sie benötigen die Azure-Port-Details, um den VXC zu erstellen.
-
VXC erstellen und bereitstellen
Mit dem validierten Service Key und den Port-Details erstellen Sie den VXC zu Microsoft Azure vom MVE aus.
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 auf beiden Seiten (Azure und Megaport) abgeglichenen Peers und zu einem bereitgestellten System mit bekannter, funktionierender Konfiguration. Sie können die Konfiguration nach der Bereitstellung ändern.
Bevor Sie beginnen, beschaffen Sie sich ein gültiges Access Token. Weitere Informationen finden Sie unter Erstellen eines API-Schlüssels.
Service Key validieren
Verwenden Sie die API, um einen Microsoft Azure Service Key zu validieren. Die Antwort enthält ExpressRoute-Details zu den zugeordneten Ports und Peers. Sie benötigen die Azure-Port-Details, um den VXC zu erstellen.
Überprüfen Sie den Service Key und stellen Sie sicher, dass ein freier Port für eine Verbindung verfügbar ist. In der API-Antwort sind verfügbare Ports als "vxc":null aufgeführt und Ports mit einem zugewiesenen Wert sind nicht verfügbar.
Weitere Informationen zu den einzelnen Antwortfeldern finden Sie unter Azure Service Key-Antwortfelder.
So validieren Sie den Service Key
-
Verwenden Sie die GET Look Up Azure Service Key-API, um mit dem Service Key die Microsoft Azure-Standortdetails abzurufen:
GET {baseUrl}/v2/secure/azure/{service_key}
Hier ist eine Beispielantwort für einen Pairing Key mit einem verfügbaren Port (vxc = null).
{
"message": "Successful lookup",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": {
"bandwidth": 50,
"connectType": "AZURE",
"managed": false,
"megaports": [
{
"productId": 53013,
"productUid": "83f95deb-a537-485e-80d9-c442c776ddc9",
"name": "London Primary",
"nServiceId": 119129,
"description": "Azure ExpressRoute at Equinix LD5",
"companyId": 1475,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"companyName": "Azure ExpressRoute",
"portSpeed": 10000,
"locationId": 90,
"state": null,
"country": "United Kingdom",
"port": 53013,
"type": "primary",
"vxc": null
},
{
"productId": 53014,
"productUid": "d84ad163-8e22-4150-8cb7-44f1aecf9e90",
"name": "London Secondary",
"nServiceId": 119130,
"description": "Azure ExpressRoute at Equinix LD5",
"companyId": 1475,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"companyName": "Azure ExpressRoute",
"portSpeed": 10000,
"locationId": 90,
"state": null,
"country": "United Kingdom",
"port": 53014,
"type": "secondary",
"vxc": null
}
],
"peers": [],
"resource_type": "csp_connection",
"service_key": "3f0f66b9-0c82-4d61-ae31-f5985c841a4a",
"vlan": 19
}
}
Erstellen und Bereitstellen eines VXC zu einer bestimmten vNIC
Mit den Azure ExpressRoute-Port-Details aus der Service-Key-Abfrage erstellen Sie das VXC zu Azure.
Sie geben die Konfigurationsdetails im Body der Anfrage an. Die erste productUid identifiziert das MVE und die bEnd: productUid identifiziert die Azure-Schnittstelle. Sie müssen auch den Azure ExpressRoute-Service-Schlüssel im Feld serviceKey angeben.
Tipp
Suchen Sie Azure-Standorte für das B-Ende der Verbindung mit dem Endpunkt v2/dropdowns/partner/megaports.
Sie können mehrere Verbindungen zu einer Azure-Schnittstelle erstellen, z. B. wenn Sie sowohl private als auch Microsoft-Peers mit derselben Schnittstelle verbinden müssen.
Single Azure Peering VLAN
In diesem Beispiel wird das Single Azure Peering VLAN verwendet. Sie erkennen dies daran, dass die innerVlan von aEnd und bEnd angegeben sind. Für Single Azure Peering VLAN sind beide auf denselben Wert eingestellt.
Wenn dieser Wert auf 0 gesetzt ist, wird ein gültiges internes VLAN vom System zugewiesen und festgelegt.
Tipp
Um Ihre Anfrage zu testen, bevor Sie bestellen, und um Preisinformationen zu sehen, verwenden Sie den Endpunkt /v3/networkdesign/validate mit derselben Body-Konfiguration.
So erstellen Sie ein VXC
-
Erstellen Sie eine Anfrage mit dem Endpunkt POST Create VXC to Azure (v3):
POST {baseUrl}/v3/networkdesign/buy -
Aktualisieren Sie den Body der Anfrage mit der
productUiddes MVE, dem Namen des VXC, derproductUiddes Azure-Ports und setzen Sie den Service-SchlüsselinnerVlanauf 501 undvNicIndexauf 0 (Schnittstelle 1).Hinweis
Die vNIC-Nummer entspricht den folgenden MVE Schnittstellen:
- vNIC 0 = Schnittstelle 1 auf dem MVE
- vNIC 1 = Schnittstelle 2 auf dem MVE
- vNIC 2 = Schnittstelle 3 auf dem MVE
- vNIC 3 = Schnittstelle 4 auf dem MVE
- vNIC 4 = Schnittstelle 5 auf dem MVE
[
{
"productUid": "{{ mveid }}",
"associatedVxcs": [
{
"productName": "Link to Azure ",
"partnerConfigs" : {
"connectType": "AZURE",
"serviceKey": "((azureServiceKey}}"
},
"rateLimit": 1000,
"term": 12,
"shutdown": false,
"promoCode": "promox3mnthfree2",
"aEnd": {
"vNicIndex":0,
"innerVlan": 501
},
"bEnd": {
"productUid": "{{ azurePortUid }}",
"innerVlan": 501
}
}
]
}
]
Nachdem Sie die Anfrage gesendet haben, erhalten Sie eine erfolgreiche Antwort, wenn das VXC bestellt wurde.
Hier ist eine Beispielantwort:
{
"message": "VXC [7f7c22f6-5cde-45d7-8603-f3546c714118] created.",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": [
{
"createDate": 1709822378799,
"vxcOrderId": 139947,
"payerMegaPortId": 190079,
"nonPayerMegaPortId": 53013,
"payerMegaPortName": "MVE for VNIC config",
"nonPayerMegaPortName": "London Primary",
"payerCompanyId": 1153,
"nonPayerCompanyId": 1475,
"payerLocationId": 89,
"nonPayerLocationId": 90,
"salesId": null,
"payerCompanyName": "Megaport Lab",
"nonPayerCompanyName": "Azure ExpressRoute",
"payerMegaPortNsId": 510708,
"nonPayerMegaPortNsId": 119129,
"payerVlanId": 0,
"nonPayerVlanId": 0,
"payerInnerVlanId": 501,
"nonPayerInnerVlanId": 501,
"payerApproverName": "name",
"payerApproverId": 41315,
"nonPayerApproverName": "name",
"nonPayerApproverId": number,
"payerApproval": number,
"nonPayerApproval": number,
"fixedTerm": true,
"duration": 1,
"rollover": true,
"serviceName": "from MVE for VNIC config to London Primary",
"payerStatus": "APPROVED",
"nonPayerStatus": "APPROVED",
"speed": 1000,
"distanceBand": "METRO",
"intercapPath": "",
"awsId": null,
"promoCode": null,
"dealUid": null,
"rateType": "MONTHLY",
"vxcJTechnicalServiceId": 190104,
"vxcJTechnicalServiceUid": "7f7c22f6-5cde-45d7-8603-f3546c714118",
"provisionDate": 1709822378782,
"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": "{{ azureServiceKey }}",
"oracleVirtualCircuitId": null,
"serviceKey": null,
"vxc": {
"serviceName": "Link to Azure ",
"name": "Link to Azure ",
"secondaryName": null,
"technicalServiceId": 190104,
"technicalServiceUid": "7f7c22f6-5cde-45d7-8603-f3546c714118",
"requestedDate": 1709822378782,
"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": 181652,
"billableUsageAlgorithm": null,
"productType": "VXC",
"provisioningStatus": "DEPLOYABLE",
"failedReason": null,
"inAdvanceBillingStatus": null,
"provisioningItems": [],
"tags": [],
"vxcDistanceBand": "METRO",
"intercapPath": "",
"marketplaceVisibility": true,
"vxcPermitted": true,
"vxcAutoApproval": false,
"createDate": 1709822378792,
"terminationDate": null,
"contractStartDate": null,
"contractTermMonths": 1,
"rateType": "MONTHLY",
"trialAgreement": false,
"payerCompanyId": null,
"nonPayerCompanyId": null,
"minimumSpeed": null,
"maximumSpeed": null,
"rateLimit": 1000,
"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": "AZURE",
"payerConfig": {},
"nonPayerConfig": {},
"attributeTags": {},
"serviceLicense": null,
"originDomain": null,
"fullyApproved": true
}
]
}
Multiple Microsoft peerings (Q-in-Q)
Wenn Sie das Single Azure Peering VLAN nicht verwenden möchten und Q-in-Q verwenden möchten, um mehrere Microsoft-Peerings auf einem einzigen VXC zu haben, geben Sie nur den Wert der innerVlan von aEnd an.
Bei aktivem Q-in-Q wird die in Azure festgelegte VLAN-ID für das Peering in den Megaport-APIs oder Portal nicht angezeigt. Sie wird vom Kunden in den Azure ExpressRoute-Peerings konfiguriert und mit der Konfiguration der MVE-Instanz abgeglichen.
Im folgenden Beispiel ist das Feld innerVlan von aEnd mit 100 tatsächlich ein äußeres VLAN oder s-Tag auf der MVE. Das Q-in-Q-inner VLAN (c-tag), das innerhalb der innerVlan läuft, ist für Megaport transparent.
Hinweis
Azure VXCs sind der einzige Cloud-VXC-Typ, der es Ihnen ermöglicht, ein doppelt getaggtes VXC anzugeben.
Hier ist eine Beispielanfrage:
[
{
"productUid": "02ec2091-46bb-4904-bd17-96c752ff826e",
"associatedVxcs": [
{
"productName": "My New Azure VXC",
"partnerConfigs" : {
"connectType": "AZURE",
"serviceKey": "{{ service_key }}"
},
"rateLimit": 1000,
"term": 12,
"shutdown": false,
"aEnd": {
"innerVlan": 100
},
"bEnd": {
"productUid": "{{ azurepuid }}"
}
}
]
}
]