API を使用して MCR と Microsoft Azure 間の VXC を作成する
このトピックでは、MCR から Microsoft Azure ExpressRoute への VXC を作成するための API 手順について説明します。Azure インターコネクト地点の検索や VXC の注文方法も含まれています。
MCR から Azure への展開には、次のタスクが含まれます。
-
Azure コンソールで ExpressRoute 回線をセットアップする
展開後、サービスキーを取得します。サービスキーを検証すると、プライマリおよびセカンダリのポートが提示され、接続のためのポートを選択できます。このキーを再度使用して、未使用のポートに別の接続を作成できます。
詳細については、Microsoft ヘルプトピック チュートリアル: ExpressRoute 回線を作成して変更する を参照してください。
-
サービスキーを使用して VXC を作成および展開する
VXC の設定の一環として、Peering タイプを選択できます。
Peering タイプには、プライベートまたは Microsoft のいずれかを選択できます。
定義済みの Peering タイプにより、Azure および Megaport の両サイドでマッチするピアとの自動構成された Peering が行われ、既知の動作構成を持つシステムが展開されます。展開後に構成を変更することができます。
開始する前に、有効なアクセス トークンを取得してください。 詳細については、API キーの作成 を参照してください。
サービスキーを検証する
API を使用して Azure サービスキーを検証すると、その応答には関連するポートとピアの ExpressRoute の詳細が含まれます。VXC を作成するには、ポートの詳細が必要です。
Postman コレクションでサービスキーを検証するには
-
Postman で、左ナビゲーションの Cloud Connectivity > MCR > Azure を展開し、GET Look Up Azure Service Key を選択します。
-
エンドポイントにサービスキーを追加します。
-
API サーバーへの GET リクエストを行うには、Send をクリックします。
GET {baseUrl}/v2/secure/azure/{service_key}
これは、(構成されていない VXC を持つ)新しいキーのサンプル応答です。
{
"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": []
}
}
各レスポンスフィールドの詳細については、Azure サービスキー レスポンスフィールド を参照してください。
ピアリングオプションを指定して VXC を注文する
サービスキーの詳細を使用して、プライマリポートへの VXC とセカンダリポートへの VXC を作成します。サービスキーのルックアップリクエストで取得した Azure ポートと同じリージョンにある MCR を必ず選択してください。
API リクエストで VXC のピアリングタイプを指定すると、Megaport が MCR 側と Azure 側の両方で IP アドレッシングと BGP 設定を行い、BGP が正しく動作するように設定します。
ピアリングタイプを指定するには、partnerConfig セクション内の peers 配列にピアリングタイプを追加します。peers 配列が存在しない場合は、Azure から peers を取得します。VXC 作成時に peers が指定されず、Azure 内にも peers が存在しない場合(これは新しいサービスキーでは通常発生します)、MCR ピアリングは自動設定されません。
MCR は、設定された各ピアリングタイプに対して VLAN を作成します。プライベートピアリングと Microsoft ピアリングの両方が指定されている場合、MCR は 2 つの inner VLAN を設定します。
注記
ピアリングタイプは記憶され、一度キーが使用されると変更できません。
VXC を作成するには
-
POST Create VXC to Azure (v3) エンドポイントを使用してリクエストを作成します。
POST {baseUrl}/v3/networkdesign/buyヒント
注文前にリクエストをテストする場合は、以下を使用できます:
POST {baseUrl}/v3/networkdesign/validate -
リクエストの Body を更新し、MCR の
productUid、VXC の名前、Azure ポートのproductUid、およびサービスキーを含めます。適切なピアリングオプションを含めてください。最大速度 (rateLimit) はサービスキーのレスポンス内の帯域幅値で定義されます。この例では 200 です。Azure VLAN(指定されている場合)は Q-in-Q の外側タグ VLAN です。VLAN を指定しない場合は、自動的にプロビジョニングされます。
プライベートピアリングオプションで Azure キーを使用するには、次のテンプレートを使用します。
[
{
"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"}]
}
}
}
]
}
]
Microsoft ピアリングの場合は、peers にこの行を使用します。
Microsoft ピアリングとプライベート ピアリングの両方の場合は、peers にこの行を使用します。
プライマリ Azure ポート用の VXC を作成した後、セカンダリ Azure ポートの productUid に接続するもう一つの VXC を作成します(productName と bEnd: productUid を変更します)。
設定済みレスポンス
ピアリング付きで VXC を作成すると、別のサービスキー検証リクエストで完全な構成が表示されます。
{
"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"
}
]
}
}