オートスケーリングは、設定したスケーリングポリシーに基づいてコンピューティングノードを動的に割り当てます。リアルタイムのワークロードの変化に応じてコンピューティングノードを追加または削除し、クラスターの可用性を向上させ、コストを削減します。本トピックでは、オートスケーリングの設定方法について説明します。
メリット
-
リアルタイムのワークロードに基づいてコンピューティングノードを追加し、クラスターの可用性を向上させます。
-
クラスターの可用性を維持しながらコンピューティングノードを削除し、コストを削減します。
-
異常なノードを停止して新しいノードに置き換えることで、フォールトトレランスを向上させます。
制限事項
-
オートスケーリングは、すべてのノードで Linux オペレーティングシステムが実行されているクラスターでのみサポートされます。
-
オートスケーリングは、スケジューラとして PBS、Slurm、Deadline、または SGE (Open Grid Scheduler) を使用するクラスターでのみサポートされます。
-
メモリメトリクスに基づくオートスケーリングはサポートされていません。
重要オートスケーリングを有効にするため、ジョブの送信時に必要な vCPU 数を指定することを推奨します。ジョブのメモリサイズは、Elastic Compute Service (ECS) インスタンスのメモリ容量を超えてはなりません。
注意事項
-
オートスケーリングサービスでは、スケジューラとドメインアカウントサービスが正常に稼働している必要があります。オートスケーリングを有効化した後、管理ノードは Running 状態を維持する必要があります。
重要管理ノードをシャットダウンまたは再起動する場合は、コンピューティングノードでジョブが実行されていないこと、およびオートスケーリングがすべてのアイドルノードを解放したことを確認してください。まずオートスケーリングを無効化し、管理ノードの再起動後に再度有効化することを推奨します。
-
推奨される管理ノードの仕様とジョブ制限は、クラスターサイズによって異なります。詳細については、「クラスターの概要」をご参照ください。
計算ノードの数
管理ノードの仕様
ジョブ数
100 以下の計算ノード
16 個以上の vCPU
64 GiB 以上のメモリ
5,000 未満のキューイングされたジョブ
10,000 未満の未完了のジョブ
500 以下の計算ノード
32 個以上の vCPU
128 GiB 以上のメモリ
10,000 未満のキューイングされたジョブ
20,000 未満の未完了のジョブ
500 を超える計算ノード
64 個以上の vCPU
256 GiB 以上のメモリ
10,000 未満のキューイングされたジョブ
20,000 未満の未完了のジョブ
操作手順
-
[Auto Scaling] ページに移動します。
-
E-HPC コンソールにログインします。
-
上部メニューでリージョンを選択します。
-
左側メニューで を選択します。
-
-
[Auto Scaling] ページで、クラスターリストからオートスケーリングを設定するクラスターを選択します。
-
[グローバル構成] セクションで、パラメータを設定します。
パラメータ
説明
[スイッチ設定]
クラスター内のすべてのキューに対して、自動スケールアウトとスケールインを有効にします。
説明キュー固有の設定がグローバル設定と競合する場合、キュー固有の設定が優先されます。
[Compute Nodes]
スケーリングアクティビティ後にクラスターで許可されるコンピューティングノード数の範囲です。上限は、クラスター内のすべてのキューに指定された最大ノード数の合計です。下限は、すべてのキューに指定された最小ノード数の合計です。
[Scale-in Time (minutes)]
連続アイドル時間がこの値を超える場合、システムはコンピューティングノードを解放します。
連続アイドル時間 = スケールイン間隔 × 連続アイドルチェック回数。デフォルトのスケールイン間隔は 2 分です。連続アイドルチェック回数は、リソース縮小チェック中にノードがアイドルであると判定された回数です。
[イメージタイプ]
新規ノードのイメージタイプです。クラスター内の既存のコンピューティングノードのイメージと一致するイメージのみ使用できます。
[例外ノード一覧]
オートスケーリングの対象から除外されるノードです。
ノードを恒久的に保持する場合は、例外リストに追加できます。システムは、アイドル状態であっても例外ノードを解放しません。
[HT の有効化]
デフォルトでは、すべての ECS インスタンスで Hyper-Threading (HT) が有効です。一部のインスタンスタイプでは、より高いパフォーマンスを得るために HT を無効化できます。詳細については、「CPU オプションの変更」および「CPU ハイパースレッディングを無効にしてクラスターのパフォーマンスを向上させる」をご参照ください。
-
[キュー設定] セクションでキューを選択し、編集 をクリックしてパラメータを設定します。
パラメータ
説明
[自動スケールアウトの有効化] と [自動スケールインの有効化]
自動スケールアウトとスケールインを有効にするかどうかを指定します。この機能はデフォルトで無効です。
説明キュー固有の設定がグローバル設定と競合する場合、キュー固有の設定が優先されます。
[キューのノード数]
キューで許可されるコンピューティングノード数の範囲です。
-
[最大値]:この値はスケールアウトに影響します。有効な値:0 ~ 5,000。
-
[最小値]:この値はスケールインに影響します。有効な値:0 ~ 1,000。
重要最小ノード数を 0 以外に設定した場合、スケールイン時にノードがアイドルであっても、システムはキュー内で指定したノード数を保持します。リソースの浪費や不要なコストの発生を防ぐため、このパラメータは慎重に設定してください。
[ホスト名のプレフィックス]
ノードのホスト名のプレフィックスです。異なるキューのノードを区別するために使用されます。
[1 回のスケールアウトでの最大ノード数]
各オートスケーリングサイクルで追加されるノード数の上限です。デフォルト値は 0 で、上限なしを示します。
コスト制約がある場合は、このパラメータを設定して追加ノード数を制限してください。
このパラメータを A に設定し、キュー内のジョブが必要とするノード数を B とした場合、次のルールが適用されます:
-
B ≤ A の場合、B 台のノードが追加されます。
-
B > A の場合、A 台のノードのみが追加されます。
説明追加されるノード数は、キューおよびクラスターで許可される最大ノード数によっても制限されます。
[1回のスケールアウトの最小ノード数]
各オートスケーリングサイクルで追加されるノード数の下限です。デフォルト値は 1 です。
シナリオによっては、サービスを実行するために最小限のノード数を追加する必要があります。この場合、このパラメータを設定できます。指定した最小ノード数を追加するためのリソースが不足している場合、システムはノードを追加しません。これにより、リソースの浪費を防止できます。
このパラメータを A に設定し、キュー内のジョブが必要とするノード数を B とした場合、次のルールが適用されます:
-
B ≤ A の場合、B 台のノードが追加されます。B 台を追加するためのリソースが不足している場合、スケールアウトは実行されません。
-
B > A の場合、B 台のノードが追加されます。B 台を追加するためのリソースが不足している場合、システムは少なくとも A 台の追加を試行します。A 台を追加できない場合、スケールアウトは実行されません。
[スケールアウトごとの最小ノード数を自動設定]
このスイッチを有効にすると、各スケールアウトの最小ノード数は、ジョブが必要とするノード数 (最大 99) と同じになります。
[ホスト名のサフィックス]
ノードのホスト名のサフィックスです。異なるキューのノードを区別するために使用されます。
[イメージタイプ]
単一のキューに追加されるノードのイメージタイプです。キューごとに異なるイメージタイプを設定できます。
[イメージ ID]
新規ノードのイメージの ID です。キューごとに異なるイメージ ID を設定できます。
説明このパラメータは現在のキューに固有です。キューに対してイメージタイプまたはイメージ ID を指定しない場合、追加されるノードには、グローバル設定で指定したイメージタイプが使用されます。グローバル設定でイメージタイプを指定しない場合、追加されるノードには、クラスターのデフォルトのイメージタイプが使用されます。
[在庫状況による自動並べ替え]
このスイッチを有効にすると、オートスケーリングは在庫状況が最も高いインスタンスタイプを優先します。
[構成チェックリスト]
新しいインスタンスの構成です。構成リストには、次の情報が含まれます:
-
[ゾーン]:クラスターのリージョン内のアベイラビリティゾーン。
-
[vSwitch ID]:アベイラビリティゾーン内にあり、クラスターの VPC に関連付けられている vSwitch の ID。
-
[インスタンスタイプ]:キュー内の新しいコンピューティングノードのインスタンスタイプ。
説明キューに複数のインスタンスタイプが設定されている場合、オートスケーリングは設定された順序、在庫状況、ジョブのタスクおよび GPU 要件に基づいて、スケールアウトに使用するインスタンスタイプを選択します。たとえば、キュー内のジョブが 1 ノードあたり 16 コアを必要とし、キューに 8 コア、16 コア、32 コアのインスタンスタイプが設定されているとします。この場合、オートスケーリングは 16 コアのインスタンスタイプを選択してスケールアウトします。ただし、16 コアのインスタンスタイプが在庫切れの場合、オートスケーリングは 32 コアのインスタンスタイプを選択します。
-
[入札戦略]:新しいインスタンスの入札戦略です。プリエンプティブルインスタンスを作成できます。
-
[1時間あたりの最高価格]:このパラメータは、プリエンプティブルインスタンスの [入札戦略] を [Set Upper Price Limit] に設定した場合にのみ使用できます。
[システムディスク]
新しいインスタンスのシステムディスク構成です。
[データディスク]
新しいインスタンスにアタッチするデータディスクです。ビジネス要件に基づいて、データディスクのタイプ、サイズ、パフォーマンスレベルを設定し、データディスクの暗号化と、インスタンスと共に解放するかどうかを指定できます。
-
-
ページ右上で 利用規約 を確認して選択し、OK をクリックします。
-
(任意) クラスターのオートスケーリング図を表示します。
クラスターのオートスケーリング図には、設定したスケーリングポリシーに基づいて、時間の経過に伴うノード数の変化と、オートスケーリングプロセスの主要な時点におけるインスタンスのスケールアウトおよびスケールインイベントの継続時間が表示されます。
説明また、図の領域で想定する同時要求ノード数を設定して、オートスケーリング中のコンピューティングノードの変化をシミュレーションすることもできます。