すべてのプロダクト
Search
ドキュメントセンター

Batch Compute (Deprecated):リソースの入札

最終更新日:Feb 13, 2025

スポットインスタンスは、ECS コンピューティングコストを削減するように設計された従量課金制のインスタンスです。 スポットインスタンスの価格は Alibaba Cloud ECS によって設定され、市場におけるこれらのインスタンスの需給の変化の影響を受けます。 したがって、スポットインスタンスの価格変動を最大限に活用できます。 スポットインスタンスを適切なタイミングで購入することで、コンピューティングコスト全体を削減しながら、この期間のビジネスループットを向上させることができます。 詳細については、「スポットインスタンス」をご参照ください。

ECS インスタンスと同様に、Batch Compute でのスポットインスタンスの使用に追加料金は発生しません。 Batch Compute でサポートされているスポットインスタンスの種類については、「インスタンスタイプ」をご参照ください。

1. ジョブの送信

スポットインスタンスリソースを指定するために使用されるパラメーターについては、次の表を参照してください。

パラメーター

説明

ResourceType

リソースの種類。 オプション値: Spot および OnDemand。 ここではスポットインスタンスが使用されます。

InstanceType

スポットインスタンスの種類。 使用可能なスポットインスタンスタイプのリストは、getQuota() メソッドで取得できます。

SpotStrategy

オプション値:

SpotWithPriceLimit:スポットインスタンスの最大価格を設定します。

SpotAsPriceGo:システムが価格を自動的に提供し、最大値は従量課金制の価格です。

SpotPriceLimit

1 時間あたりのインスタンスの最大価格。 値には最大 3 つの小数を含めることができます。 SpotStrategySpotWithPriceLimit の場合に有効になります。

1.1. Java SDK を使用してジョブを送信する

TaskDescription taskDesc = new TaskDescription();
AutoCluster autoCluster = new AutoCluster();
autoCluster.setResourceType("Spot");
autoCluster.setInstanceType("ecs.sn1.large");

// オプションの構成
autoCluster.setSpotStrategy("SpotWithPriceLimit");
autoCluster.setSpotPriceLimit(0.1f);

1.2. Python SDK を使用してジョブを送信する

job_desc['DAG']['Tasks']['my-task']['AutoCluster']['ResourceType'] = 'Spot'
job_desc['DAG']['Tasks']['my-task']['AutoCluster']['InstanceType'] = 'ecs.sn1.large'

# 以下の構成はオプションです。
job_desc['DAG']['Tasks']['my-task']['AutoCluster']['SpotStrategy'] = 'SpotWithPriceLimit'
job_desc['DAG']['Tasks']['my-task']['AutoCluster']['SpotPriceLimit'] = 0.1   # 0.1 米ドル

1.3. コマンドラインツールを使用してジョブを送信する

例 0:スポットジョブを送信します。

bcs sub "python demo.py" --resource_type Spot -t ecs.sn1.large

例 1:1 時間あたりの最大価格を 0.1 米ドルに指定します。

bcs sub "python demo.py" --resource_type Spot -t ecs.sn1.large --spot_price_limit 0.1

例 2:spot_price_limit が 0 に設定されている場合、価格はシステムによって自動的に割り当てられ、従量課金制インスタンスの価格を超えません。

bcs sub "python demo.py" --resource_type Spot -t ecs.sn1.large --spot_price_limit 0

2. クラスタの作成と変更

2.1. Java SDK を使用する

GroupDescription group = new GroupDescription();
group.setDesiredVMCount(3);
group.setInstanceType("ecs");
group.setResourceType("OnDemand");

// オプションの構成
group.setSpotPriceLimit(0.1f);
group.setSpotStrategy("SpotWithPriceLimit");

2.2. Python SDK を使用する

group_desc['ResourceType'] = 'Spot'
group_desc['InstanceType'] = 'ecs.sn1.large'

# 以下の構成はオプションです。
group_desc['SpotStrategy'] = 'SpotWithPriceLimit'
group_desc['SpotPriceLimit'] = 0.1   # 0.1 米ドル

2.3. コマンドラインツールを使用する

クラスタを作成するときにスポット価格ポリシーを設定します。

bcs cc cluster_1 -t ecs.sn1.large --resource_type Spot --spot_price_limit 0.1

クラスタスポット価格ポリシーを変更します。

bcs uc cls-xxxx --spot_price_limit 0.8