本文へスキップ

Cross Connect APIテスト

Cross Connect APIを使用すると、Equinixデータセンター内の機器間の物理ケーブル接続の注文、管理、およびデインストールが可能になります。 このガイドでは、Cross Connect APIと統合するためのテスト戦略、事例、ベストプラクティスをご紹介します。

概要

Cross-Connectは、同軸ケーブル、ファイバーケーブル、銅線ケーブルを使用した物理的なケーブル接続で、エクイニクスのデータセンター内でお客様の機器と他のお客様の機器を直接接続します。 クロスコネクトはデータをポイントツーポイントで伝送するため、パブリックインターネットの遅延や混雑の問題を回避できます。

Cross Connect API v2は、主に3つのエンドポイントを提供します:

MethodEndpointDescription
POST/colocations/v2/orders/crossConnectsOrder new cross connects
PATCH/colocations/v2/orders/crossConnects/{orderId}Update existing cross connect order
POST/colocations/v2/orders/crossConnects/deinstallDeinstall existing cross connects

Cross Connect APIをテストする前に、以下を確認してください:

  • Cross Connect発注権限を持つエクイニクスデベロッパーアカウント
  • 有効なAPI認証情報(クライアントIDとクライアントシークレット)
  • 適切なデータセンターロケーションへのアクセス
  • API認証の理解

Cross Connectテストワークフロー

Cross Connect APIで認証フローを検証することから始めましょう:

# Test authentication for Cross Connect API (Python example)
import requests

auth_url = "https://api.equinix.com/oauth2/v1/token"
auth_payload = {
"grant_type": "client_credentials",
"client_id": "<your_client_id>",
"client_secret": "<your_client_secret>"
}
response = requests.post(auth_url, data=auth_payload)
data = response.json()

if response.status_code != 200:
raise Exception(f"Authentication failed: {response.status_code} {data}")

access_token = data.get("access_token")
print("Access token:", access_token)
print("Token timeout:", data.get("token_timeout"))

基本クロスコネクト発注テスト

最も一般的なシナリオであるシングルモードファイバーのクロスコネクトをテストします:

import requests
import json

# Setup authentication
base_url = "https://api.equinix.com"
auth_url = f"{base_url}/oauth2/v1/token"
auth_payload = {
"grant_type": "client_credentials",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET"
}

auth_response = requests.post(auth_url, data=auth_payload)
token = auth_response.json()["access_token"]

# Prepare request
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}

# Test ordering a basic single mode fiber cross connect
payload = {
"customerReferenceId": "TEST-CC-001",
"description": "Test cross connect for API integration",
"details": [
{
"aSide": {
"connectionService": "SINGLE_MODE_FIBER",
"mediaType": "SINGLE_MODE_FIBER",
"protocolType": "10_GIG_ETHERNET",
"connectorType": "FC",
"patchPanel": {
"id": "CP:0104:1199890"
}
},
"zSide": {
"patchPanel": {
"id": "PP:0104:1190123"
},
"circuitId": "TEST-CIRCUIT-001",
"connectorType": "LC"
}
}
]
}

response = requests.post(
f"{base_url}/colocations/v2/orders/crossConnects",
headers=headers,
data=json.dumps(payload)
)

# Verify response
assert response.status_code == 201, f"Failed to create order: {response.text}"
order_data = response.json()
order_id = order_data.get("orderId")

print(f"Successfully created Cross Connect order with ID: {order_id}")
print(f"Current status: {order_data.get('status')}")

クロスコネクトAPIテストのベストプラクティス

無効なパッチパネルID

  • パッチパネルIDが正しいフォーマットに従っていることを確認してください:cp:xxxx:xxxxxx`。
  • 対象のデータセンターでパッチパネルが利用可能かどうかを確認します。

認証エラー

  • トークンの有効期限の確認(通常1時間)
  • クライアントの認証情報が正しいことを確認
  • OAuth2フローの適切な実装

検証エラー

  • API仕様の必須フィールドとオプションフィールドの比較
  • データタイプとフォーマット要件の確認
  • connectionService、mediaTypeなどの列挙値を検証します。

パーミッションエラー

  • お客様のアカウントにCross Connectの注文権限があることを確認してください。
  • データセンターへのアクセス許可の確認
  • 指定されたIBXロケーションに確実にアクセスできます。

関連ドキュメント

ヘルプ

Cross Connect APIのテスト中に問題が発生した場合:

このページは役に立ちましたか?