APIを使用したMCR VXCの作成
このトピックでは、API手順を使用してMCR VXCを作成する方法について説明します。最初の例では、USマーケットでAWSホステッド接続を作成します。これは、より高度な構成の1つです。他のCSPのテンプレートはこのトピックの後半に記載されています。
詳細については、APIリファレンスのPOST Validate MCR VXC Order (v3)を参照してください。
ホステッド接続を使用してMCRとAWS間にVXCを作成する
この例では、USマーケットでAWSホステッド接続を作成します。手順には以下が含まれます:
- MCRのプロダクトIDを取得する
- 利用可能なUSマーケットのロケーションIDを見つける
- VXCを検証して注文する
- 2つの静的ルートを構成する
- BGPBorder Gateway Protocol (BGP) は、インターネット上の自律システム (AS) 間でルートと到達可能性の情報を交換するために設計された標準化されたルーティングプロトコルです。
接続を構成する – MEDマルチエグジット識別子 (MED) は、BGP パス属性であり、広告している自律システム (AS) が候補ルートで同じであり、かつその AS に複数のエントリーポイントが存在する場合に、BGP 隣接ルータに優先ルートを取るように影響を与えることができます。MED メトリックは低い方が高いメトリックよりも優先されます。
の詳細がある接続とない接続の2つ。
開始する前に、有効なアクセス トークンを取得してください。詳細については、APIキーの作成を参照してください。
VXCを作成するには、MCRのproductUidが必要です。
MCRのproductUidを取得する方法
-
プロダクトリストを取得します。
GET {baseUrl}/v2/products/ -
返された製品詳細から、接続したいMCRの
productUid値を見つけます。この例では、この値を使用します:fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0
次に、AWSホステッド接続をサポートするUSマーケットのロケーションIDを見つけます。
AWSホステッド接続が利用可能なUS市場のlocationIdを見つける方法
-
Megaportがクラウドサービスプロバイダと持っているすべてのインターフェイスのリストを取得します。
GET {baseUrl}/v2/dropdowns/partner/megaports結果を
connectTypeおよびvxcPermittedでフィルタリングできます。GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWSHC&vxcPermitted=true -
拡大鏡アイコンをクリックして、ロケーション条件に一致するサイトを検索します。
この例では、”US West (Oregon) (us-west-2) [DZ-RED]”を”locationId”: 57で選択します。
{
"connectType": "AWSHC",
"productUid": "f274bd09-1796-43af-8837-28fa4fa2a1ab",
"vxcPermitted": true,
"companyUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
"companyName": "AWS",
"title": "US West (Oregon) (us-west-2) [DZ-RED]",
"locationId": 57,
"speed": 10000,
"rank": 275,
"lag_id": 5,
"lag_primary": true,
"aggregation_id": 106462
},
注記
[DZ-RED] は Red ダイバーシティゾーンを意味します。各 AWS Hosted Connection サイトには冗長性を提供するために 2 つのダイバーシティゾーン(DZ-Red と DZ-Blue)が用意されています。
MCR ID と AWS ロケーション ID があれば、VXC を作成できます。
VXC を作成するには
-
次の URL でリクエストを作成します:
POST {baseUrl}/v3/networkdesign/buyヒント
オーダー前にリクエストをテストするには、以下を使用できます:
POST {baseUrl}/v3/networkdesign/validate -
リクエストに以下のヘッダーを追加します:
- Content-Type: application/json
- Authorization: Bearer {your accessToken}
-
構成の詳細を含む Body を作成します。
この例では、MCR の製品 ID、B-End の AWS ロケーション ID を使用し、2 つの静的ルートを作成し、BGP 接続を構成します(1 つは MED 詳細付き、もう 1 つはなし)。以下のセクションで、静的ルートおよび BGP 接続の詳細を説明します。
[
{
"productUid": "fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0",
"associatedVxcs": [
{
"rateLimit": 100,
"productName": "awshc",
"term": 12,
"shutdown": false,
"promoCode": "promox3mnthfree2",
"aEnd": {
"locationId": 320,
"vlan": 0,
"partnerConfig": {
"connectType": "VROUTER",
"interfaces": [
{
"vlan": null,
"ipMtu": 5000,
"ipAddresses": [
"10.191.0.25/29",
],
"bgpConnections": [
{
"peerAsn": 62512,
"localIpAddress": "10.191.0.25",
"peerIpAddress": "10.191.0.26",
"password": "cnn6eaeaETSjvjvjvjv",
"importWhitelist": null,
"importBlacklist": null,
"exportWhitelist": null,
"exportBlacklist": null,
"shutdown": false,
"description": "BGP with MED and BFD enabled",
"medIn": 100,
"medOut": 100,
"bfdEnabled": true
},
{
"peerAsn": 62511,
"localIpAddress": "10.191.0.27",
"peerIpAddress": "10.191.0.28",
"password": "cnn23049asdkfj",
"importWhitelist": null,
"importBlacklist": null,
"exportWhitelist": null,
"exportBlacklist": null,
"shutdown": false,
"description": "BGP without MED or BFD",
"medIn": null,
"medOut": null,
"bfdEnabled": false
}
],
"ipRoutes": [
{
"prefix": "10.0.0.0/24",
"nextHop": "10.191.0.26",
"description": "test static route 1"
},
{
"prefix": "10.0.1.9/24",
"nextHop": "10.191.0.27",
"description": "test static route 2"
}
],
"natIpAddresses": []
}
]
}
},
"bEnd": {
"locationId": 57,
"ownerUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
"productUid": "d5518ee1-e915-4e3d-a4e1-a2c7e04f2fdd",
"vlan": 0,
"partnerConfig": {
"name": "awshc",
"ownerAccount": "XXXXXXXXXXXX",
"connectType": "AWSHC"
}
},
"productType": "VXC",
"connectType": "AWSHC"
}
]
}
]
静的ルート
A-End パートナー構成オブジェクトの interfaces 配列に ipRoutes 配列を追加することで、各インターフェースに複数の静的ルートを作成できます。
"ipRoutes": [
{
"prefix": "10.0.0.0/24",
"nextHop": "10.191.0.26",
"description": "test static route 1"
},
{
"prefix": "10.0.1.9/24",
"nextHop": "10.191.0.27",
"description": "test static route 2"
}
],
ipRoutes 配列は静的ルートが存在しないことを示します。
| 属性 | 説明 | 必須 | 有効な入力 |
|---|---|---|---|
| prefix | nextHop へルーティングする IP プレフィックス (IPv4 & IPv6) | はい | IPv4/IPv6 プレフィックス - マスクがない場合はホストアドレス (/32) として扱われます |
| nextHop | ネクストホップのアドレス | はい | IPv4/IPv6 アドレス - インターフェースと同じサブネット内である必要がありますが、インターフェースのIPではありません |
| description | 静的ルートの任意の説明 | いいえ | 文字列 - 最大100文字 |
BGP接続
A-End パートナー構成オブジェクトの interfaces 配列に bgpConnections 配列を追加することで、各インターフェースに複数の BGP 接続を作成できます。
"bgpConnections": [
{
"peerAsn": 62512,
"localIpAddress": "10.191.0.25",
"peerIpAddress": "10.191.0.26",
"password": "cnn6eaeaETSjvjvjvjv",
"importWhitelist": null,
"importBlacklist": null,
"exportWhitelist": null,
"exportBlacklist": null,
"shutdown": false,
"description": "BGP with MED and BFD enabled",
"medIn": 100,
"medOut": 100,
"bfdEnabled": true
},
{
"peerAsn": 62511,
"localIpAddress": "10.191.0.27",
"peerIpAddress": "10.191.0.28",
"password": "cnn23049asdkfj",
"importWhitelist": null,
"importBlacklist": null,
"exportWhitelist": null,
"exportBlacklist": null,
"shutdown": false,
"description": "BGP without MED or BFD",
"asPathPrependCount": "3",
"bfdEnabled": false
}
],
| 属性 | 説明 | 必須 | 有効な入力 |
|---|---|---|---|
| peerAsn | リモートBGPピアのASN。 | はい | 有効なASN - 1から4294967294までの整数 |
| localAsn | ローカルASNはこのBGPピアに対してMCRのASNを上書きできます。通常はデフォルトのままにします。 | いいえ | 有効なASN - 1から4294967294までの整数 peerAsn == mcrAsn の場合は localAsn を設定できません peerAsn != mcrAsn の場合は localAsn が peerAsn と一致してはいけません |
| localIpAddress | BGPピアとの通信に使用するこのインターフェースのIPv4またはIPv6アドレス。 | はい | 有効なIPv4/IPv6アドレス。インターフェースのIPアドレスである必要があります |
| peerIpAddress | BGPピアのIPアドレス。 | はい | 有効なIPv4/IPv6アドレス |
| password | BGPピアの認証に使用される共有キー。最大32文字。 | いいえ | 0~32文字 |
| importWhitelist | インバウンドのプレフィックスフィルタリング(許可アクション)。MCRは隣接ピアからのBGP経路広告に対してこのフィルタを適用します。リストにないプレフィックスは最初の段階で拒否され、MCRは使用しません。 | いいえ | 1~100文字 |
| importBlacklist | インバウンドのプレフィックスフィルタリング(拒否アクション)。MCRは隣接ピアからのBGP経路広告に対してこのフィルタを適用します。リストにあるプレフィックスはブロックされ、それ以外はルーティングテーブルに入ります。 | いいえ | 1~100文字 |
| exportWhitelist | アウトバウンドのプレフィックスフィルタリング(許可アクション)。MCRはアウトバウンド経路にこのフィルタを適用します。リストにある経路が隣接ピアに広告され、それ以外はフィルタされます。 | いいえ | 1~100文字 |
| exportBlacklist | アウトバウンドのプレフィックスフィルタリング(拒否アクション)。MCRはアウトバウンド経路にこのフィルタを適用します。リストにある経路は隣接ピアに対してブロックされ、それ以外は広告されます。 | いいえ | 1~100文字 |
| shutdown | デフォルトでBGP接続は有効であり、ピアへの接続を積極的に試みます。shutdownを選択すると、BGPセッションを一時的に無効化できます(削除はされません)。トラブルシューティングやフェイルオーバーテストに役立ちます。 | いいえ | true/false - デフォルトは false |
| description | BGP接続の任意の説明。 | いいえ | 0~100文字 |
| medIn | このBGP接続で受信するすべての経路にMEDが適用されます。空欄の場合はピアから受信した値が使用されます。値が最も低い経路が優先されます。 | いいえ | 0から4,294,967,295までの値をサポート |
| medOut | このBGP接続で送信するすべての経路にMEDが適用されます。隣接ASは自由に最も低い値を優先する場合があります。 | いいえ | 0から4,294,967,295までの値をサポート |
| asPathPrependCount | asPathPrependCount は、ローカルAS番号がピアへの送信BGP通知において何回繰り返されるかを示す整数です。 | いいえ | 1から10の範囲内の値が許容されます |
| bfdEnabled | 双方向フォワーディング検出(BFD)はこのBGP接続における迅速な障害検出を可能にします。接続が切断された場合、BGPホールドタイマーを待たずにセッションを切断します。複数経路がある場合、フェイルオーバー時間が短縮される可能性があります。 | いいえ | true/false - デフォルトは false 任意 |
双方向フォワーディング検出(BFD)
bfd 設定オブジェクトは、bfdEnabled = true のすべてのBGP接続に適用されます。
BFDの設定は編集できません。BFDが有効な場合のデフォルト設定は以下の通りです:
- 送信間隔BGPピアが接続先のBGPピアに対して生存確認 BFD パケットを送信する最小時間。
: 300ミリ秒 - 受信間隔BGPネイバーがライブネス検出BFDパケットをインターフェースに送信する最小時間。
: 300ミリ秒 - 乗数BGPセッションがダウンと見なされる前に見逃せる最小のBFDパケット数。
: 3
注記
これらの設定は、BFDが有効になっているVXCのすべてのBGP接続に適用されます。
AWS、Azure、Googleとの自動構成
Azure、AWS Hosted VIF、およびGoogleに対して、Megaport は MCR 側とCSP側の両方でIPアドレスおよびBGPの詳細設定を行い、動作するBGPセットアップを保証します。これにより、CSPポータルとMegaportポータル間の切り替えが最小限に抑えられます。
Portal がデフォルトで自動構成を処理しますが、APIを使ってBGP自動構成をトリガーすることもできます。
partnerConfig内のinterfacesキーが存在しないかnullの場合に、この機能がトリガーされます。
CSPのBGPピアリングを構成するには
-
次のURLでリクエストを作成します:
POST {baseUrl}/v3/networkdesign/buy -
リクエストに以下のヘッダーを追加します:
- Content-Type: application/json
- Authorization: Bearer {your accessToken}
-
設定内容を含むリクエストのBodyを作成します。
ここでは、主要なCSP向けに複数のテンプレートが用意されています。
AWS Hosted VIF
{
"productUid": "{{mcrid}}",
"associatedVxcs": [
{
"productName": "Test AWS VIF VXC",
"rateLimit": 100,
"term": 12,
"aEnd": {
"vlan": 0
},
"bEnd": {
"productUid": "{{awsPortUid}}",
"partnerConfig": {
"connectType": "AWS",
"type": "private",
"ownerAccount": "{{yourAWSAccountNumber}}"
}
}
}
]
}
Google Cloud
{
"productUid": "{{mcrid}}",
"associatedVxcs": [
{
"productName": "Test Google VXC",
"rateLimit": 100,
"term": 12,
"aEnd": {
"vlan": 0
},
"bEnd": {
"productUid": "{{googlePortUid}}",
"partnerConfig": {
"connectType": "GOOGLE",
"pairingKey": "{{googlekey}}"
}
},
"productType": "VXC"
}
]
}
Microsoft Azure
Azureの構成の詳細については、APIを使用したMCRとMicrosoft Azureの間のVXCの作成を参照してください。