この記事は、CAST AI社により公開されたブログ記事を元に翻訳・作成したものです。また、記載している製品比較の内容は、CAST AI社の評価によるものです。元の記事については以下をご覧ください。
(記事最終更新日:2022年7月28日)
ノードプールがコスト最適化の妨げではありませんか?
公開日:2023年3月27日
更新日:2023年3月27日
AWSでは、ワーカーノードをノードプール(Auto Scalingグループ)に入れて、複数のAvailability ZoneまたはRegionに分散させた高可用性EKSクラスターを実行することを推奨しています。

この選択は、信頼性の面では確かに理にかなっています。しかし、Kubernetesクラスターをコスト面で最適化するのに役立つのでしょうか?
経験から、ノードプールを使用したことで、場合により最適な利用ができず、大きなクラウドの無駄と高いクラウド費用が発生することが分かっています。
Auto Scalingグループとは何か?
この記事の範囲では、ノードプールは基本的にAuto Scalingグループであるといえます。AWSがオートスケーリングと管理のために、論理的なグループとして扱うEC2インスタンスで構成されています。これにより、ヘルスチェックによるリプレースやスケーリングポリシーなどのEC2オートスケーリング機能の恩恵を受けることがでます。
Auto Scalingグループを使用することで、グループ内のインスタンス数を動的に増減して状況の変化に対処し、ワークロードをスムーズに実行するのに充分なリソースを提供できます。
スケーリングポリシーが有効になっている場合、Auto Scalingグループは、指定された最小容量値と最大容量値の間で、グループの必要な容量を調整します。また、必要に応じてインスタンスを起動または終了するため、スケジュールにしたがってスケーリングすることもできます。
いい感じですね?しかし、ここで注意点があります。
ノードプールでの問題はこれです
需要の変化に応じてリソースを調整し、使用量を最適化するために、当社のお客様のしばしばこの戦術に着目し、ノードプールを作成しました。
しかし、ここで問題がありました。これらのノードプールは部分的にしか使用されませんでした。チームは、必要以上の容量を持つノードのコレクションを簡単に手に入れることができましたが、会社は事実上使用されていないリソースにお金を払うことになりました。
コスト効率が良い代替案:最大利用率のシングルノードプール
「ノードプールなし」のアプローチをすることで、チームはクラウドリソースにかかる高騰したコストを回避でき、より有益なものとなります。一部のノードがフル稼働しているセットを維持する代わりに、すべてのノードが完全にフル稼働しているシングルノードプールを利用することで、クラウドの無駄を省くことができます。

ただし、ノードプールを監視し、使用容量と要求容量が一致していることを確認し続けるには、多くのエンジニアの時間が必要となります。
だからこそ、この方法は自動化のユースケースとして最適なのです。
ノードプールなしアプローチの自動化
CAST AIは、フル稼働したシングルノードプールを作成し、高いリソース利用率を確保し、クラウドの無駄を排除します。アプリケーションの要求を常に分析し、ノードの削除やワークロードの移動により利用できる容量をリアルタイムで調整し、無駄を最小限に抑えます。
ノードレイアウトをより最適化するために、どのような構成が可能か見てみませんか?

2018年にオラクルに買収されたZenedgeの共同創業者兼最高製品・事業責任者を務めました。
Laurentは、2012年にGoogleに買収されたViewdleのCEO兼共同創業者でもあります。
タグ一覧