ECI スポットインスタンスを使用すると、未使用の Elastic Container Instance (ECI) のキャパシティを、従量課金価格と比較して大幅な割引価格で利用できます。その代わり、市場価格が入札価格を上回った場合や、在庫が少なくなった場合に、Alibaba Cloud によってインスタンスが解放される可能性があります。
スポットインスタンスは、保護期間が終了するといつでも解放される可能性があります。稼働時間の保証が必要なワークロードや、中断を許容できないワークロードには使用しないでください。
理想的なワークロード:ステートレスでフォールトトレラントなタスク (バッチ処理、ビッグデータ分析、イメージレンダリング、大規模な並列計算、スケーラブルな Web サービスなど)。
料金と課金
ECI スポットインスタンスの価格は、基盤となるインスタンスタイプのリアルタイムの需要と供給に基づいて変動します。スポットインスタンスを作成する際には、入札ポリシーを指定します。入札価格が現在の市場価格よりも高く、十分なリソースが利用可能な場合に、インスタンスが作成されます。
| 項目 | 詳細 |
|---|---|
| 料金モデル | インスタンスタイプの需要と供給に基づいて変動 |
| 従量課金との比較 | 従量課金よりも低価格 |
| 課金粒度 | 実際の使用期間に基づいて課金 |
| 保護期間中 | 購入時の市場価格で課金 |
| 保護期間終了後 | リアルタイムの市場価格で課金 |
保護期間
すべての ECI スポットインスタンスは、作成直後に保護期間に入ります。この期間中、インスタンスは購入時の市場価格で課金され、価格や在庫の変動によって解放されることはありません。
デフォルト期間:1 時間
設定可能:
SpotDurationを0に設定して保護期間を無効にするか、デフォルトの1時間を維持します。
保護期間が終了すると、システムは 5 分ごとに市場価格とリソース在庫をチェックします。リアルタイムの市場価格が入札価格を上回るか、在庫が不十分な場合、インスタンスは解放されます。
リクレームプロセス
システムがスポットインスタンスを解放する必要があると判断した場合 (保護期間終了後)、以下のシーケンスが発生します。
保護期間終了
|
v
システムが価格と在庫をチェック (5 分ごと)
|
v (価格が入札額を超える、または在庫が不十分)
SpotToBeReleased イベントがトリガーされる ── 約 3 分間の警告
|
v
インスタンス解放 ── インスタンス情報は保持され、課金は停止し、ステータスは「期限切れ」に変わるヒント:SpotToBeReleased イベントをサブスクライブすることで、インスタンスが解放される前に、アプリケーションのグレースフルシャットダウン、バッファーのフラッシュ、状態のチェックポイントを実行できます。イベント発生から実際の解放まで、約 3 分 の猶予があります。制限事項
スポットインスタンスは、保護期間が終了すると、価格や在庫の変動によりいつでも解放される可能性があります。
vCPU とメモリを指定してインスタンスを作成する場合、最低 2 vCPU が必要です。
リクエストした vCPU とメモリの仕様がサポートされていない場合、システムは自動的に次に高いサポートされている構成をプロビジョニングします。
コンソールでは、カスタムの入札ポリシーの設定はサポートされていません。コンソールで作成されたすべてのスポットインスタンスは、自動的に
SpotAsPriceGo戦略 (市場価格を入札価格とする) を使用します。コンソールでは、ゼロ以外の保護期間が必要で、デフォルトは 1 時間 です。
事前準備
市場価格の調査:
DescribeSpotPriceHistoryおよびDescribeSpotAdviceAPI を使用して、過去 30 日間の市場価格データをクエリします。DescribeSpotAdviceは、スポットインスタンスの平均解放率や平均割引率などの情報を提供します。即時解放のリスクを減らすために、入札価格を平均市場価格よりも高く設定してください。中断を前提とした設計:重要なデータは、独立したディスクや、NAS ファイルシステムや OSS バケットなどの外部ストレージサービスに保存してください。永続データのためにスポットインスタンスのローカル記憶域に依存しないでください。
SpotToBeReleasedイベントの処理:このイベントのリスナーを実装して、グレースフルシャットダウン操作を実行します。イベント発生から実際の解放まで約 3 分間の猶予があります。重要なワークロードには通常のインスタンスと組み合わせる:ベースラインキャパシティは従量課金インスタンスで実行し、ピーク負荷の処理にスポットインスタンスを使用します。これにより、信頼性を損なうことなくコストを削減できます。
超短期ジョブでは保護期間を無効にする:ワークロードが数分で完了する場合は、
SpotDurationを0に設定して保護期間をスキップします。
作成方法
ECI スポットインスタンスは、2 つの方法で作成できます。
| 方法 | 仕組み | 課金基準 |
|---|---|---|
| ECS インスタンスタイプの指定 | 1 つ以上の ECS インスタンスタイプを明示的に選択します。 | 指定したインスタンスタイプのリアルタイムの割引従量課金価格で課金されます。 |
| vCPU とメモリの指定 | vCPU とメモリの要件を指定します。システムは自動的に一致する ECS インスタンスタイプを選択します。 | vCPU とメモリリソースの従量課金価格ではなく、自動的に選択されたインスタンスタイプのリアルタイムの割引市場価格で課金されます。 |
サポートされる vCPU とメモリの組み合わせ
vCPU とメモリを指定する方法を使用する場合、以下のサポートされている組み合わせから選択してください。
| vCPUs | サポートされるメモリ (GiB) |
|---|---|
| 2 | 2、4、8、16 |
| 4 | 4、8、16、32 |
| 8 | 8、16、32、64 |
| 12 | 12、24、48、96 |
| 16 | 16、32、64、128 |
| 24 | 24、48、96、192 |
| 32 | 32、64、128、256 |
| 52 | 96、192、384 |
| 64 | 128、256、512 |
コンソールを使用したスポットインスタンスの作成
ECI インスタンスの作成ページに移動します。
[請求方法] で、[スポットインスタンス] を選択します。

残りのインスタンス構成 (リージョン、VPC、vSwitch、セキュリティグループ、コンテナイメージ、vCPU、メモリ) を完了し、作成を確定します。
コンソールでは、カスタムの入札ポリシーの設定はサポートされていません。コンソールで作成されたすべてのスポットインスタンスは、自動的に SpotAsPriceGo 戦略 (市場価格を入札価格とする) を使用します。保護期間はデフォルトで 1 時間 であり、コンソールでは変更できません。API を使用したスポットインスタンスの作成
スポット関連のパラメーターを指定して、CreateContainerGroup 操作を呼び出します。
API パラメーターリファレンス
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
SpotStrategy | 文字列 | いいえ | スポットインスタンスの入札ポリシー。有効な値:NoSpot (デフォルト、通常の従量課金インスタンスを作成)、SpotWithPriceLimit (時間あたりの上限価格を定義するスポットインスタンス。SpotPriceLimit が必要)、SpotAsPriceGo (現在の市場価格を入札価格として使用するスポットインスタンス)。 |
SpotPriceLimit | 数値 | 条件付き | 支払う意思のある時間あたりの上限価格。小数点以下 3 桁までサポートします (例:0.025)。SpotStrategy が SpotWithPriceLimit に設定されている場合に必要です。他の戦略では無視されます。 |
SpotDuration | 整数 | いいえ | 保護期間 (時間単位)。有効な値:1 (デフォルト、作成後 1 時間インスタンスが解放から保護される)、0 (保護期間なし。インスタンスは価格と在庫に基づいていつでも解放される可能性がある)。 |
例
価格上限付きでスポットインスタンスを作成
CreateContainerGroup リクエストで以下のパラメーターを設定します。
SpotStrategy = SpotWithPriceLimit
SpotPriceLimit = 0.025
SpotDuration = 1市場価格でスポットインスタンスを作成
CreateContainerGroup リクエストで以下のパラメーターを設定します。
SpotStrategy = SpotAsPriceGo
SpotDuration = 1ヒント:SpotStrategyをSpotAsPriceGoに設定し、指定したインスタンスタイプのリソースが不足している場合は、時間あたりの上限価格をインスタンスの従量課金価格に近づけるように設定します。これにより、インスタンス作成の成功率が向上する可能性があります。
関連 API
| API | 説明 |
|---|---|
| CreateContainerGroup | ECI インスタンス (コンテナグループ) を作成します。スポット関連のパラメーターを使用して、スポットインスタンスを作成します。 |
| DescribeSpotPriceHistory | 過去 30 日間のスポットインスタンスの市場価格履歴をクエリします。 |
| DescribeSpotAdvice | 過去 30 日間のスポットインスタンスの平均解放率や平均割引率などの情報をクエリします。 |