action.skip

APIを使用してMVEとAWS間のVXCを作成する

このトピックでは、MVEからAWSへのVXCを作成するためのAPI手順、およびAWSの場所を調べて特定のvNICでVXCを注文する方法について説明します。

MVEには、AWS接続を2種類設定できます: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-EndのAWSの場所を調べることができます。

  1. VXCを作成してデプロイする

ポートの詳細が特定されたので、MVEからAWSへのVXCを作成できます。

構成の詳細はリクエストの本文に指定されます。指定する必要がある主な情報には、MVEのproductUid、AWSポートのproductUid、AWSアカウントIDがあります。

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

AWSの場所の詳細を調べる

接続したいポートのproductUidを調べるのに、APIを使用します。レスポンスには利用可能なポートの詳細が含まれています。VXCを作成するには、ポートの詳細が必要です。

APIレスポンスでは、VXCを受け入れることができる利用可能なポートが“vxcPermitted”: trueと記載されています。

AWSの場所の詳細を調べるには

  1. 左側のナビゲーションでLocationsフォルダを展開し、GET Partner Megaportsをクリックします。

  2. Sendをクリックして、APIサーバーにGETリクエストを送信します。

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

    このリクエストは、Megaportがクラウドサービスプロバイダと持つすべてのインターフェースを返します。検索アイコンをクリックし、検索フィールドにロケーション、データセンター、またはその他のパラメータを入力して検索できます。

    connectTypeはクラウドサービスプロバイダを示します。AWSにはHosted VIF用の”AWS”とHosted Connection用の”AWSHC”が含まれます。

    connectTypeおよびvxcPermittedで結果をフィルタリングできます。

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

    この例では、VXCを受け入れる地域eu-west-2(ロンドン)のポートを使用しています(“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 は Partner Megaports のルックアップから AWS ポートの場所を識別します。また、リクエストには AWS アカウント番号を指定する必要があります。

この例では Hosted VIF 接続タイプ、connectType=AWS を使用しています。

ヒント

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

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 はこの場合 103 の VLAN 番号を vNIC 内で識別します。

注記

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": "このデータは利用許諾方針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 ポータルのアカウント内の 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 は Partner Megaports のルックアップから AWS ポートの場所を識別します。リクエストには AWS アカウント番号も指定する必要があります。

この例では Hosted Connection の接続タイプ、connectType=AWSHC を使用しています。

ヒント

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

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": "このデータは利用許諾方針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がDirect Connect - connectionの下にAWSポータルアカウントに表示されます。 この例では、AWS Hosted Connection は AWS ポータルアカウントの Direct Connect - connection に表示されます。アカウント保持者は、Hosted Connection を承認し、1 つのプライベート、1 つのパブリック、または 1 つのトランジット VIF を作成し、それを Virtual Private Gateway または Direct Connect Gateway または Transit Gateway に接続し、その後 VPC に接続できます。