Elastic Container Instance (ECI) はプリエンプティブルインスタンスをサポートしています。実行時間が短いジョブや、スケーラビリティとフォールトトレランスに優れた一部のステートレスアプリケーションでは、プリエンプティブルインスタンスを使用することで、インスタンスのコストを効果的に削減できます。このトピックでは、プリエンプティブルな ECI インスタンスを作成する方法について説明します。
背景情報
プリエンプティブルインスタンスは、低コストの入札ベースのコンピューティングリソースです。Alibaba Cloud 上のアイドルリソースに入札して、コンテナを実行できます。指定した入札価格が現在の市場価格を下回った場合、またはリソースインベントリが不足した場合、これらのリソースは回収されます。
プリエンプティブルインスタンスは、実行時間が短いジョブや、スケーラビリティとフォールトトレランスに優れたステートレスアプリケーション (弾性的にスケーラブルな Web サービス、画像レンダリング、ビッグデータ分析、大規模な並列計算など) に適しています。アプリケーションの分散性、スケーラビリティ、フォールトトレランスが高いほど、プリエンプティブルインスタンスを使用することで、コストを削減し、スループットを向上させることができます。詳細については、「プリエンプティブルインスタンスとは」をご参照ください。
基本概念
プリエンプティブルインスタンスを作成する前に、以下の概念を理解してください:
-
課金方法
プリエンプティブルインスタンスの市場価格は、需要と供給に応じて変動します。プリエンプティブルインスタンスを作成する際には、入札ポリシーを指定する必要があります。指定した入札価格が、指定されたインスタンスタイプのリアルタイムの市場価格より高く、かつ在庫が十分な場合、インスタンスは正常に作成されます。作成後、インスタンスは保護期間中 (デフォルトでは 1 時間)、購入時の市場価格で課金されます。保護期間が終了すると、インスタンスはリアルタイムの市場価格で課金されます。
説明プリエンプティブルインスタンスは、従量課金インスタンスと比較して割引価格で提供されます。実際の価格は需要と供給に基づいて変動し、実際の使用時間に対して課金されます。詳細については、「プリエンプティブルインスタンスの課金」をご参照ください。
-
回収メカニズム
保護期間が終了すると、システムは 5 分ごとにインスタンスタイプの市場価格と在庫を自動的にチェックします。いずれかの時点で市場価格が指定した入札価格を上回るか、インスタンスタイプの在庫が不足した場合、システムはプリエンプティブルインスタンスを解放します。
説明-
システムがリソースを回収する約 3 分前に、インスタンスが間もなく解放されることを示すイベントが生成されます。
-
システムがリソースを回収すると、インスタンスの課金は停止します。インスタンス情報は保持され、ステータスは「期限切れ (Expired)」に変わります。
-
注意事項
プリエンプティブルインスタンスを使用する際は、次の点にご注意ください:
-
適切なインスタンスタイプを選択し、合理的な入札価格を設定してください。
ECS の OpenAPI オペレーションを呼び出して、過去 30 日間のプリエンプティブルインスタンスに関する情報をクエリすることで、インスタンスタイプの選択と入札価格の設定に役立てることができます。関連するオペレーションは次のとおりです:
-
DescribeSpotPriceHistory:過去のインスタンス価格をクエリします。
-
DescribeSpotAdvice:インスタンスの平均解放率や平均割引率などの情報をクエリします。
重要市場価格の変動を考慮し、ビジネス上のコスト要件に合致する十分な高さの入札価格を設定してください。これにより、プリエンプティブルインスタンスを正常に作成できる可能性が高まり、価格変動による解放を防ぎ、コストを削減しながらビジネスニーズを満たすことができます。
-
-
重要なデータは、クラウドディスク (インスタンスと同時に解放するオプションを無効にしたもの) や NAS など、プリエンプティブルインスタンスの解放による影響を受けないストレージメディアに保存してください。
作成方法
プリエンプティブルな ECI インスタンスは、ECS インスタンスタイプを指定するか、vCPU とメモリを指定することで作成できます:
-
ECS インスタンスタイプの指定
課金は、指定されたインスタンスタイプの従量課金の市場価格とリアルタイムの割引に基づいて行われます。
-
vCPU とメモリの指定
この方法は、ECS インスタンスタイプを指定する場合と同じ効果があります。システムは、リソースと価格の要件を満たす ECS インスタンスタイプを自動的にマッチングします。課金は、このマッチングされたインスタンスタイプの市場価格に基づいて行われます。つまり、割引は、対応する vCPU とメモリの従量課金価格ではなく、マッチングされた ECS インスタンスタイプの市場価格に適用されます。
この方法は、2 vCPU 以上の仕様のみをサポートします。次の表に、サポートされている vCPU とメモリの仕様を示します。サポートされていない仕様を指定した場合、システムは自動的に次に大きいサポートされている仕様に切り上げます。
vCPU
メモリ (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
設定
API
CreateContainerGroup API オペレーションを呼び出して ECI インスタンスを作成する際に、SpotStrategy パラメーターで入札ポリシーを、SpotPriceLimit パラメーターで 1 時間あたりの最大価格を、SpotDuration パラメーターでプリエンプティブルインスタンスの保護期間を設定できます。次の表に、これらのパラメーターについて説明します。詳細については、「CreateContainerGroup」をご参照ください。
|
パラメーター |
型 |
例 |
説明 |
|
SpotStrategy |
string |
SpotWithPriceLimit |
インスタンスの入札ポリシー。有効値:
|
|
SpotPriceLimit |
number |
0.2 |
プリエンプティブルインスタンスの 1 時間あたりの最大価格。この値は小数点以下 3 桁までサポートします。 |
|
SpotDuration |
long |
1 |
プリエンプティブルインスタンスの保護期間 (時間単位)。デフォルト値は 1 です。値を 0 に設定すると、保護期間なしを指定できます。 |
コンソール
Elastic Container Instance コンソールでプリエンプティブル ECI インスタンスを作成する際、[基本設定] セクションで [課金方法] を プリエンプティブルインスタンス に設定します。
この方法には、次の制限があります:
-
入札ポリシーは設定できず、デフォルトで
SpotAsPriceGo(システムが現在の市場価格で自動的に入札) となります。 -
保護期間をゼロに設定することはできず、デフォルトで 1 時間となります。