コンピューティングスケーリング - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コンピューティングスケーリング

コンピューティングスケーリングは、動的な Kubernetes 環境でのアプリケーションパフォーマンスにとって重要なコンポーネントです。Kubernetes は、リアルタイムの需要に応じてコンピューティングリソース (CPU やメモリなど) を動的に調整することで、無駄を減らします。この機能は、過剰プロビジョニングや過少プロビジョニングを回避するのに役立ちます。これにより、運用コストも節約できます。Kubernetes は、ピーク時にインフラストラクチャを自動的にスケールアップし、オフピーク時にスケールダウンできるようにすることで、手動による介入を効果的に排除します。

Kubernetes の全体的なコンピューティングスケーリングはスケーリングプロセスを自動化し、アプリケーションの柔軟性とスケーラビリティを高め、耐障害性のある動作を強化します。最終的に、Kubernetes の機能は運用上の優秀性と生産性を向上させます。

このセクションでは、次のタイプのコンピューティングスケーリングについて説明します。

クラスター AutoScaler

ポッドのニーズに応じて、Cluster Autoscaler ツールは、必要に応じてノードを追加するか、不要で十分に活用されていないノードを削除することで、サイズを自動的に変更します。

Cluster Autoscaler ツールは、需要が徐々に増加し、スケーリングのレイテンシーが大きな問題ではないワークロードのスケーリングソリューションとして考えてみましょう。

Cluster Autoscaler ツールには、次の主要な機能があります。

  • スケーリング – 実際のリソース需要に応じてノードを動的にスケールアップおよびスケールダウンします。

  • ポッドのスケジューリング — すべてのポッドが動作していて、機能するために必要なリソースがあることを確認し、リソースの不足を防ぎます。

  • コスト効率 – 使用率の低いノードを排除することで、不要な運用コストを排除します。

過剰プロビジョニングによる Cluster Autoscaler

クラスターオートスケーラーは、クラスターオートスケーラーと同様に、ノードを効率的にデプロイし、ノードで優先度の低いポッドを実行することで時間を節約するという点で、過剰プロビジョニング機能を備えています。この手法では、需要の急増に応じてトラフィックがこれらのポッドにリダイレクトされるため、アプリケーションは中断することなく動作し続けることができます。

過剰プロビジョニングを備えた Cluster Autoscaler には、ワークロードが非常に大きく、レイテンシーが必要ではなく、スケーリングをすばやく行う必要がある場合に、ノードを簡単にデプロイして実行するために使用できるダミーポッドの機能が用意されています。

オーバープロビジョニングの Cluster Autoscaler には、次の主要な機能があります。

  • 応答性の向上 – 過剰な容量を常にアクセス可能にすることで、需要の急増に応じてクラスターをスケールアップする時間を短縮できます。

  • リソース予約 — トラフィックの予期しない急増を管理すると、ダウンタイムをほとんど必要とせずに適切な管理を効果的に行うことができます。

  • スムーズスケーリング – リソース割り当ての遅延を最小限に抑えることで、よりシームレスなスケーリングプロセスが容易になります。

Karpenter

Karpenter for Kubernetes は、オープンソース、パフォーマンス、カスタマイズ可能性の点で従来の Cluster Autoscaler ツールよりも優れています。Karpenter を使用すると、クラスターの需要をリアルタイムで処理するために必要なコンピューティングリソースのみを自動的に起動できます。Karpenter は、より効率的で応答性の高いスケーリングを実現するように設計されています。

迅速なスケーリングの決定が不可欠な、非常に可変または複雑なワークロードを持つアプリケーションは、Karpenter の使用から大きなメリットを得ます。と統合され AWS、デプロイとノード選択の最適化が改善されます。

Karpenter には、次の主要な機能が含まれています。

  • 動的プロビジョニング – Karpenter は目的に適したインスタンスとサイズを提供し、ポッドの特定の要件に基づいて新しいノードを動的にプロビジョニングします。

  • 高度なスケジューリング – Karpenter は、賢明なポッド配置を使用して、GPU、CPU、メモリ、ストレージなどのリソースを可能な限り効果的に使用できるようにノードを配置します。

  • クイックスケーリング – Karpenter はすばやくスケールでき、数秒で頻繁に反応します。この応答性は、突然のトラフィックのパターンや、ワークロードが即時スケーリングを必要とする場合に役立ちます。

  • コスト効率 – 最も効果的なインスタンスを慎重に選択することで、運用コストを削減し、オンデマンドインスタンス AWS、スポットインスタンス、リザーブドインスタンスなど、 が提供する追加のコスト削減の代替手段を活用できます。