スケーリンググループを作成した後、適切なスケーリングポリシーを設定することで、リソース使用率を向上させ、コストを削減できます。コストをさらに削減するために、スポットインスタンスを追加して、より低価格で Elastic Compute Service (ECS) インスタンスを使用することができます。このトピックでは、スポットインスタンスを使用してクラスターのコストを削減する方法について説明します。
ECS インスタンスのスケーリンググループのみがスポットインスタンスをサポートしています。
スポットインスタンスとは
スポットインスタンスは、通常の ECS インスタンスと同じパフォーマンスを提供するオンデマンドインスタンスの一種です。価格は市場の需要と供給に基づいてリアルタイムで変動し、従量課金インスタンスと比較して最大 90% のコストを節約できます。スポットインスタンスには、次の特徴があります:
同一のパフォーマンス:同じインスタンスタイプの場合、スポットインスタンスは従量課金インスタンスと同一のパフォーマンスを発揮します。課金方法のみが異なります。
入札メカニズム:スポットインスタンスを作成する際に、入札価格を設定できます。Alibaba Cloud は、現在の需要と供給に基づいて市場価格を調整します。市場価格が入札価格を上回った場合、インスタンスは回収されます。また、自動入札 を使用することもできます。これは、従量課金インスタンスの価格を上限として、自動的に市場価格に追従します。
価格マッチングメカニズム:インスタンスの価格は、市場の需要と供給に基づいてリアルタイムで変動します。お客様の入札価格が市場価格と比較されます。入札価格が市場価格より高く、在庫が十分な場合に、スポットインスタンスが作成されます。
中断および回収メカニズム:スポットインスタンスは、中断および回収メカニズムの対象となります。市場価格が入札価格を上回った場合や在庫が不足した場合、インスタンスは中断され、回収されます。
保護期間:1 時間の保護期間を設定して、作成後の最初の 1 時間以内にインスタンスが回収されるのを防ぐことができます。
スポットインスタンスの詳細については、「スポットインスタンスとは」をご参照ください。
概要:スケーリンググループを使用する場合、低価格のスポットインスタンスを利用してコストを削減できます。ただし、インスタンスが正常に作成されたり、無期限に実行されたりする保証はないため、安定性が犠牲になります。
スポットインスタンスにおけるコストと安定性のバランス
低価格のスポットインスタンスを使用すると、スケーリンググループ内のインスタンスクラスターのコストを効果的に削減できます。しかし、その固有の不安定性のため、クラスター全体の安定性への潜在的な影響を慎重に評価する必要があります。スケーリンググループの安定性には、主に 2 つの側面があります:
スケールアウトの安定性:ワークロードが増加した際に、スケーリングの要求を満たすために、新しいインスタンスをタイムリーかつ確実に起動する能力。
スポットインスタンスを使用する場合、市場価格の変動や在庫不足により、インスタンスの作成が失敗することがあります。これはスケールアウトの安定性に影響を与える可能性がありますが、いくつかのメカニズムを設定して安定性を向上させることができます。
インスタンスの安定性:実行中のインスタンスが予期せぬ中断なく継続的に稼働することを保証する能力。
スポットインスタンスを導入すると、市場価格の変動や在庫不足により、一部のインスタンスが自動的に回収される可能性があります。このため、アプリケーションは、インスタンスが中断された後、迅速に回復し、他の利用可能なリソースにシームレスに切り替える必要があります。
コスト削減とクラスターの安定性の適切なバランスを見つけることは、サービスの信頼性とパフォーマンスを維持するために不可欠です。
コストと安定性のバランス調整
以下の戦略を使用して、コストとクラスターの安定性のバランスを調整します。
合理的な入札戦略の設定:市場価格よりわずかに高く、従量課金価格よりは低い入札価格を設定することで、スポットインスタンスを取得する可能性を高めつつ、頻繁な中断による管理オーバーヘッドを削減できます。
インスタンスタイプの組み合わせ:スケーリンググループにスポットインスタンスを追加する際は、ビジネスニーズに基づいてスポットインスタンスと従量課金インスタンスの比率を調整し、コストとクラスターの安定性のバランスを取る必要があります。
例えば、安定した運用を保証するために必要な最小容量に従量課金インスタンスの割合を設定し、コスト削減のために伸縮する部分にはスポットインスタンスを使用することができます。
次の図は、インスタンスの比率が異なると、クラスターの安定性とコストがどのように変化するかを示しています。クラスター内のスポットインスタンスの割合が増加するにつれて、コストは減少しますが、安定性も低下します。

クラスターの安定性向上
バランスの取れた戦略を設計することに加えて、以下の設定を使用してクラスターの安定性をさらに向上させることができます。
| |
| |
| |
| |
|
例:スケーリンググループへのスポットインスタンスの追加
以下の手順に従って、既存のスケーリンググループにスポットインスタンスを追加します。
ステップ 1:複数ゾーンでの vSwitch の設定
複数のゾーンにまたがって vSwitch を設定することで、それらの在庫が統合され、スケーリンググループで利用可能なスポットインスタンスが増加します。
Auto Scaling コンソールにログインします。
上部のナビゲーションバーで、Auto Scaling が有効化されているリージョンを選択します。
左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。
対象のスケーリンググループを見つけ、その ID をクリックして詳細ページを開きます。
[基本情報] タブで [VPC] セクションを見つけ、右上隅の編集アイコン
をクリックして [VPC の編集] ページを開きます。複数のゾーンに対して vSwitch を設定し、[OK] をクリックします。
説明ご利用の VPC に複数ゾーンの vSwitch がない場合は、まずそれらを作成してください。詳細については、「vSwitch の作成と管理」をご参照ください。
ステップ 2:コスト最適化ポリシーの設定
[基本情報] タブで [インスタンスのスケーリング設定] セクションを見つけ、右上隅の編集アイコン
をクリックして [インスタンススケーリング設定の編集] ページを開きます。スケーリングポリシーを [コスト最適化ポリシー] に変更し、ビジネスニーズに基づいて関連パラメーターを設定します。パラメーターは以下の通りです:
最少従量課金インスタンス数
スケーリンググループで必要な従量課金 ECS インスタンスの最小数です。デフォルトは 0 です。スケーリンググループ内の従量課金 ECS インスタンスの数がこの値を下回る場合、システムは従量課金インスタンスの作成を優先します。
従量課金インスタンス比率 (%)
自動的に作成される ECS インスタンスのうち、従量課金インスタンスが占める割合です。デフォルトは 70% です。この割合は、[従量課金インスタンスの最小数] で指定された数を超えるインスタンスに適用されます。
最低コストのインスタンスタイプ
使用する最低コストのインスタンスタイプの数です。デフォルトは 1 です。このパラメーターは、スケーリング設定で複数のインスタンスタイプが指定されている場合にのみ有効です。スポットインスタンスを作成する際、スケーリンググループは指定された数の最低コストのインスタンスタイプにわたって均等に ECS インスタンスを作成します。
プリエンプティブルインスタンス補完の有効化
有効にすると、Auto Scaling は回収されようとしているスポットインスタンスを置き換えるために、回収の約 5 分前に新しいスポットインスタンスを事前に作成します。
従量課金インスタンスを使用してプリエンプティブル容量を補完
価格や在庫の問題で必要なスポットインスタンスのキャパシティを満たせない場合、この機能を有効にできます。Auto Scaling は、必要なキャパシティを満たすために従量課金インスタンスの作成を試みます。
プリエンプティブルインスタンスの従量課金への自動置換を有効にする
従量課金インスタンスを使用してプリエンプティブル容量を補完 を有効にした後、スケーリンググループ内の従量課金インスタンスの割合が 従量課金インスタンス比率 (%) の値を超える可能性があります。このオプションを有効にすると、Auto Scaling が超過した従量課金インスタンスをスポットインスタンスに自動的に置き換えようとします。
設定が完了したら、[OK] をクリックします。
ステップ 3:スケーリング設定の変更
このセクションでは、既存のスケーリング設定を変更する方法を説明します。新しい設定を作成することも可能です。詳細については、「ECS スケーリンググループの作成」をご参照ください。
で、アクティブなスケーリング設定を見つけ、[編集] をクリックして [スケーリング設定の変更] ページに移動します。
[スケーリング設定の変更] ページで、[課金方法] を [プリエンプティブルインスタンス] に変更します。
インスタンス設定方法を [インスタンスタイプの指定] に変更します。
インスタンスの保護期間と入札モードを設定します。パラメーターは以下の通りです:
使用期間
このパラメーターは、スポットインスタンスの保護期間を指定します。この期間中、スポットインスタンスは中断されたり回収されたりしません。
1 時間:1 時間の保護期間を設定します。インスタンス作成後の 1 時間は中断されません。1 時間経過後、システムは 5 分ごとに在庫と入札価格の変動を確認し、リソースが引き続き使用可能かどうかを判断します。
なし:使用期間を設定しません。このオプションは、使用期間を設定する場合と比較して、より高いコスト削減効果が期待できます。
インスタンスごとの最大価格
このパラメーターは、インスタンスの入札モードを指定します。
自動入札:スケーリンググループは、同じタイプの従量課金インスタンスの価格を上限として、インスタンスの市場価格に基づいて自動的に入札します。
上限価格の設定:市場価格が入札価格を上回った場合、または需要と供給の関係が変化した場合に、インスタンスは自動的にリリースされます。必ずデータをバックアップしてください。
このモードを使用して、インスタンス価格の上限を設定します。
[インスタンスタイプの選択] セクションで、複数のインスタンスタイプを選択してスケールアウトの成功率を向上させます。
説明[インスタンスごとの最大価格] を [上限価格の設定] に設定した場合、インスタンスタイプごとに入札価格を設定する必要があります。
例えば、
ecs.hfc7.large、ecs.c7.large、ecs.c6.largeのような 3 つのインスタンスタイプを選択し、ドラッグまたは上下移動ボタンを使用して優先順位を調整します。スケーリング設定は、リストの上位にあるインスタンスタイプを優先します。各インスタンスタイプには、参考としてリリース率と過去の割引率が表示されます。この例では [自動入札] を使用します。
設定を確認した後、[編集] をクリックして操作を完了します。
ステップ 4:スケールアウトの検証
設定完了後、スケールアウトアクティビティをトリガーして、スケーリンググループが期待どおりにスポットインスタンスを作成することを確認します。この例では、予想インスタンス数を変更することでスケールアウトをトリガーします。
パラメーター
従量課金インスタンスの割合:70%。
従量課金インスタンスの最小数:2
想定インスタンス数:0 から 12 に変更。
期待される結果
9 台の従量課金インスタンスと 3 台のスポットインスタンス。
結果の計算
[従量課金インスタンスの最小数] が満たされた後、[従量課金インスタンスの割合] が追加のインスタンスに適用されます。したがって、従量課金インスタンスの総数は
インスタンスの課金方法は ECS コンソールで確認できます。