action.skip

APIを使用してVXCをMVEとMicrosoft Azure間に作成する

このトピックでは、VXCをMVEからMicrosoft Azure ExpressRouteに作成するためのAPIプロシージャについて説明します。構成は二段階のプロセスです: まず、Azureインターコネクトの場所をAzureサービスキーで検索し、それから特定のvNICに対してVXCを作成できます。

注記

Azureに接続する前に、AzureコンソールでExpressRoute回線を設定する必要があります。設定が完了すると、接続詳細を含むサービスキーを受け取ります。AzureへのMVE接続を構成するには、サービスキーの詳細を調べ、AzureポートへのVXCを作成します。

MVEからAzureへの展開には以下のタスクが含まれます:

  1. AzureコンソールでExpressRoute回線を設定する

    展開されると、サービスキーを取得します。サービスキーを検証すると、プライマリポートとセカンダリポートが表示され、接続のためのポートを選ぶことができます。キーをもう一度使用して、未使用のポートにもう一つの接続を作成できます。

    詳細については、Microsoftのヘルプトピック チュートリアル: ExpressRoute回線を作成および変更するを参照してください。

  2. Azureサービスキーを検証する

    Azureサービスを注文する際に、サービスキーを使用して接続のための空きポートがあることを確認します。

    APIの応答には、関連するポートとピアのExpressRoute詳細が含まれます。VXCを作成するためには、Azureポートの詳細が必要です。

  3. VXCを作成および展開する

    検証済みのサービスキーとポート詳細を使用して、VXCをMVEからMicrosoft Azureに作成します。

    VXCの構成の一環として、ピアリングタイプを選ぶことができます。ピアリングタイプはプライベートまたはMicrosoftのいずれかです。

    定義されたピアリングタイプは、AzureとMegaportの両側で一致したピアとの自動構成されたピアリングと、既知の動作する構成の展開されたシステムをもたらします。展開後に構成を変更することができます。

始める前に、有効なアクセストークンを取得してください。詳細については、APIキーの作成を参照してください。

サービスキーを検証する

Microsoft Azureのサービスキーを検証するためにAPIを使用します。応答には関連するポートとピアのExpressRoute詳細が含まれています。VXCを作成するためには、Azureポートの詳細が必要です。

サービスキーを確認し、接続のための空きポートがあることを確認してください。APIの応答では、利用可能なポートは"vxc":nullと表示され、値が割り当てられているポートは利用できません。

各応答フィールドの詳細については、Azureサービスキーレスポンスフィールドを参照してください。

サービスキーを検証するために

  • GET Look Up Azure Service Key APIを使用して、サービスキーでMicrosoft Azureの場所の詳細を検索します:

    GET {baseUrl}/v2/secure/azure/{service_key}

こちらは利用可能なポートを持つペアリングキーのサンプルレスポンスです (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
   }
}

特定の vNIC に VXC を作成および展開する

サービスキー参照から取得した Azure ExpressRoute ポートの詳細を使用して、Azure への VXC を作成します。

リクエストの Body に設定情報を指定します。最初の productUid は MVE を識別し、bEnd: productUid は Azure インターフェースを識別します。また、serviceKey フィールドに Azure ExpressRoute サービスキーを指定する必要があります。

ヒント

接続の B-End の Azure ロケーションは、v2/dropdowns/partner/megaports エンドポイントで参照できます。

同じ Azure インターフェースに対して複数の接続を作成できます。例えば、プライベートピアリングと Microsoft ピアリングの両方を同じインターフェースに接続する場合などです。

シングル Azure ピアリング VLAN

この例ではシングル Azure ピアリング VLAN を使用しています。aEnd innerVlan と bEnd innerVlan の両方が指定されていることから判別できます。シングル Azure ピアリング VLAN では両方とも同じ値に設定されます。

この値が 0 に設定されている場合は、有効な inner VLAN がシステムによって割り当てられて設定されます。

ヒント

注文前にリクエストをテストし、価格詳細を確認するには、同じ Body 構成で /v3/networkdesign/validate エンドポイントを使用してください。

VXC を作成する手順

  1. POST Create VXC to Azure (v3) エンドポイントでリクエストを作成します:

    POST {baseUrl}/v3/networkdesign/buy
    
  2. リクエスト Body に MVE の productUid、VXC の名前、Azure ポートの productUid を指定し、サービスキーの innerVlan を 501、vNicIndex を 0(インターフェース 1)に設定します。

注記

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": "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
        }
      }
    ]
  }
]

リクエストを送信すると、VXC が注文されたときに成功レスポンスが返されます。

以下はサンプルレスポンスです:

{
    "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
       }
   ]
}

複数の Microsoft ピアリング(Q-in-Q)

Single Azure Peering VLAN を使用せず、Q-in-Q を使って単一の VXC 上で複数の Microsoft ピアリングを行いたい場合は、aEnd の innerVlan の値のみを指定してください。

Q-in-Q を使用すると、Azure に設定された Azure ピアリング VLAN ID は Megaport の API や Portal には表示されません。これはお客様が Azure ExpressRoute ピアリングで設定し、MVE インスタンスの設定で一致させます。

以下の例では、aEnd innerVlan フィールドの 100 は実際には MVE 上の外側 VLAN または s-tag です。innerVlan 内で動作する Q-in-Q の内側 VLAN(c-tag)は Megaport には透過的です。

注記

Azure VXC は、二重タグ付けされた VXC を指定できる唯一のクラウド VXC タイプです。

以下はサンプルリクエストです:

[
 {
"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 }}"
     }
   }
 ]
 }
]