本文へスキップ
警告

2025年4月1日 をもって、エクイニクスはJune 20th, 2025 のSpot Marketサービスを停止することを決定しました。アクティブなスポットマーケットインスタンスをできるだけ早くオンデマンドに変更してください。

スポット市場

Equinix Metal™ Spotマーケットを利用すると、ユーザーは割安な料金で予備のサーバー容量を入札できます。その代わりに、お客様はエクイニクスメタルに2分以内の警告でインスタンスを取り消す権利を与えます。ポータブルなワークロードがある場合、スポット市場はコスト削減に役立つ優れたツールです。

スポット市場の仕組み

スポット市場は、常に在庫が変化する市場です。特定のリソースに支払う最高価格、サーバーの数とタイプ、任意の時点ですべての注文を満たすか、一部の注文を満たすかなど、さまざまな要素を定義することで、この在庫に入札を行うことができます。

たとえば、1インスタンスあたり1時間あたりの最大料金で5インスタンスをプロビジョニングできます。指定した価格が、指定したメトロおよびプランの現在のスポット価格以上であれば、インスタンスが作成されます。

これらのインスタンスは揮発性であるため、他のユーザーがより高い価格で入札した場合、エクイニクスメタルによっていつでも取り消される可能性があります。インスタンスが取り消される場合、最低2分間の終了時間が表示されます。

現在および過去の市場価格

現在の市場価格は、現時点で単一のインスタンスをデプロイするために指定する必要がある価格を反映しています。表示されているスポット市場価格が、そのタイプのサーバーの標準価格の10倍である場合、その場所のスポット市場インスタンスのキャパシティは不足しています。

/market/spot/pricesエンドポイントは、Equinix Metalの各メトロおよびプランの現在の価格を提供します。

curl -X GET -H 'X-Auth-Token: <API_TOKEN>' \
https://api.equinix.com/metal/v1/market/spot/prices

特定の場所とサーバーの価格履歴を確認するには、/market/spot/prices/history?plan&metroエンドポイントで過去90日間のスポット市場価格を確認できます。

curl -X GET -H 'X-Auth-Token: <API_TOKEN>' \
https://api.equinix.com/metal/v1/market/spot/prices/history?plan&metro

入札戦略

具体的な入札戦略はあなた次第だが、ほとんどのユーザーは使用ケースに基づいてこれらの入札戦略のいずれかを採用している:

コストの徹底的な最適化 - 可用性を犠牲にして、最も割安なコストを実現します。これは、柔軟な終了日を持つ長期的なワークロードに最適です。

  • ユースケース研究スタイルのタスク
  • 推奨入札価格:最低価格に近い

コスト/可用性のバランス - 厳密にコスト最適化されたものよりも若干高い価格ですが、インスタンスを取得し、長期間維持できる可能性を高めることができます。

  • 使用例:ある程度の再利用が可能なバッチジョブ
  • 入札の提案最低価格の10~20%上

Bid On Demand Price - スポット価格がオンデマンド価格より低い場合はいつでも割引を受け、高くなった場合は即座にオンデマンド価格に切り替えます。

  • ユースケースワークロードを容易に移動できる完全なクラウド・ネイティブ・アプリケーション
  • 入札希望価格:オンデマンド価格

Optimize Continuity - 可用性と継続性を確保するために非常に高い入札を行います。

  • ユースケースアップタイムの継続と引き換えに、市場価格より高い価格を受け入れる。
  • 推奨入札価格:需要価格の2~3倍

スポットマーケットリクエストの作成

スポットマーケットリクエストを行うには、/projects/{id}/spot-market-requestsエンドポイントにPOSTリクエストを送信します。リクエストの本文で、リクエストの詳細を定義します。

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/spot-market-requests" \
-d '{
"devices_max": <integer>,
"devices_min": <integer>,
"max_bid_price": <float>,
"metro": "<metro_slug>",
"instance_parameters": {
"hostname": "<string>",
"plan": "<plan_slug>",
"operating_system": "<os_slug>"
}
}'

ボディ・パラメーター

  • devices_max (required) - The maximum number of devices to provision to fill this request.
  • devices_min (required) - The minimum number of devices to provision to fill this request.
  • max_bid_price (required) -
  • end_at (optional) - Set an expiration for the spot market request with date and UTC time of expiration in ISO8601 format.
  • instance_parameters (required) - Configuration for the requested devices. The instance parameters object must contain hostname, plan, operating_system, and metro.

instance_parametersには、APIを通じてサーバーをプロビジョニングおよび構成するために使用される他のフィールドのいずれかを含めることもできます。これらのフィールドの完全なリストは、/projects/{id}/spot-market-requests エンドポイントの API リファレンスにあります。

スポットマーケットデバイスの管理

すべてのスポット マーケット デバイスのリストを取得するには、デバイス タイプでフィルタリングして、/projects/{id}/devices エンドポイントに GET リクエストを送信します。

curl -X GET -H "X-Auth-Token: <API_TOKEN>" \
https://api.equinix.com/metal/v1/projects/{id}/devices?type=spot

Spot-Marketデバイスは、APIを通じて/devices/{id}エンドポイントにPUTリクエストを送信することで更新できます。リクエストの本文に更新したいフィールドを記述します。どのフィールドも必須ではありません。

curl -X PUT \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/devices/{id}" \
-d '{
"description": "<string>",
"hostname": "<string>",
"always_pxe": <boolean>,
"ipxe_script_url": "<string>",
"locked": <boolean>,
"spot_instance": <boolean>,
"tags": [
"<string>"
],
"userdata": "<string>"
}'

フィールドの完全なリストとその説明は、API リファレンス でご覧いただけます。

スポット市場のサーバーをオンデマンドに変換する

スポットマーケットサーバーを維持する必要がある場合、APIを使用してオンデマンドサーバーに変換することができます。一度オンデマンド・サーバーになれば、解約の対象にはならず、存続中はオンデマンド価格で課金されます。

メモ

解約が決定されたサーバーは、変換の対象にはなりません。解約が決定する前に、スポットマーケットサーバーをオンデマンドに変換する必要があります。

変換するには、/devices/{id} エンドポイントに PUT リクエストを送信し、リクエストのボディにはサーバが存在するメトロと "spot_instance": false.

curl -X PUT \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/devices/{id}" \
-d '{
"spot_instance": false
}'

スポット市場の終了

スポットマーケットサーバーの終了は、あなたの最大入札価格が現在のスポット価格の最大値を下回った場合、またはサーバーの需要が高まり、あなたのデバイスの価格がすべてのスポットマーケットインスタンスの中で最も低くなった場合に発生します。終了マークが付けられたサーバーは、削除されるまで120秒の猶予があります。

終了時刻はAPIまたはサーバーのメタデータから入手できる。

サーバの終了時間を決定するには、/devices/{id} エンドポイントに GET リクエストを送信します。

curl -X GET -H 'X-Auth-Token: <API_TOKEN>' \
https://api.equinix.com/metal/v1/devices/{id}

フィールド termination_time には、インスタンスが終了する ISO8601 形式の UTC 時間が含まれます。応答が null の場合は、終了時刻が設定されていないことを示します。

また、/projects/{id}/devices エンドポイントからプロジェクト内のすべてのデバイスのリストとその情報を取得することもできます。

サーバー自体に終了時刻を問い合わせるには、そのメタデータをcURLすることができる。サーバー自身から

curl -s https://metadata.platformequinix.com/metadata

応答には終了日時が含まれるか、null になります。

スポットマーケットリクエストの削除

リクエストを削除するには、/spot-market-requests/{id} エンドポイントに DELETE を送信します。

curl -X DELETE -H 'X-Auth-Token: <API_TOKEN>' \
https://api.equinix.com/metal/v1//spot-market-requests/{id}

リクエストによってプロビジョニングされたサーバも削除したい場合は、force_termination=trueをクエリパラメータとして送信します。

curl -X DELETE -H 'X-Auth-Token: <API_TOKEN>' \
https://api.equinix.com/metal/v1/spot-market-requests/{id}?force_termination=true
このページは役に立ちましたか?