action.skip

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を取得する方法

  1. プロダクトリストを取得します。

    GET {baseUrl}/v2/products/
    
  2. 返された製品詳細から、接続したいMCRのproductUid値を見つけます。

    この例では、この値を使用します:fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0

次に、AWSホステッド接続をサポートするUSマーケットのロケーションIDを見つけます。

AWSホステッド接続が利用可能なUS市場のlocationIdを見つける方法

  1. Megaportがクラウドサービスプロバイダと持っているすべてのインターフェイスのリストを取得します。

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

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

    GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWSHC&vxcPermitted=true
    
  2. 拡大鏡アイコンをクリックして、ロケーション条件に一致するサイトを検索します。

    この例では、”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 を作成するには

  1. 次の URL でリクエストを作成します:

    POST {baseUrl}/v3/networkdesign/buy
    

    ヒント

    オーダー前にリクエストをテストするには、以下を使用できます:
    POST {baseUrl}/v3/networkdesign/validate

  2. リクエストに以下のヘッダーを追加します:

    • Content-Type: application/json
    • Authorization: Bearer {your accessToken}
  3. 構成の詳細を含む 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ピアリングを構成するには

  1. 次のURLでリクエストを作成します:

    POST {baseUrl}/v3/networkdesign/buy
    
  2. リクエストに以下のヘッダーを追加します:

    • Content-Type: application/json
    • Authorization: Bearer {your accessToken}
  3. 設定内容を含むリクエストの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の作成を参照してください。