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へのデプロイメントには以下のタスクが含まれます。
- AWSの場所の詳細を調べる
AWSへのVXCを作成するには、接続するポートのproductUidを最初に特定する必要があります。
v2/dropdowns/partner/megaportsエンドポイントを使用して、接続のB-EndのAWSの場所を調べることができます。
- VXCを作成してデプロイする
ポートの詳細が特定されたので、MVEからAWSへのVXCを作成できます。
構成の詳細はリクエストの本文に指定されます。指定する必要がある主な情報には、MVEのproductUid、AWSポートのproductUid、AWSアカウントIDがあります。
開始する前に、有効なアクセストークンを取得してください。詳細については、APIキーの作成を参照してください。
AWSの場所の詳細を調べる
接続したいポートのproductUidを調べるのに、APIを使用します。レスポンスには利用可能なポートの詳細が含まれています。VXCを作成するには、ポートの詳細が必要です。
APIレスポンスでは、VXCを受け入れることができる利用可能なポートが“vxcPermitted”: trueと記載されています。
AWSの場所の詳細を調べるには
-
左側のナビゲーションでLocationsフォルダを展開し、GET Partner Megaportsをクリックします。
-
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 を作成するには
-
POST Buy AWS - Hosted VIF (v3) エンドポイントでリクエストを作成します。
POST {baseUrl}/v3/networkdesign/buy -
リクエストの 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 を作成する手順
-
POST Buy AWS - Hosted Connection (v3) エンドポイントでリクエストを作成します:
POST {baseUrl}/v3/networkdesign/buy -
リクエストの 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 に接続できます。