オートスケーリングとは

おーとすけーりんぐ

負荷の指標(CPU使用率、要求の数、待ち行列の長さなど)に応じて、サーバやコンテナの台数を自動で増減する仕組み。台数を増やすことをスケールアウト、減らすことをスケールインと呼ぶ。KubernetesのHorizontalPodAutoscalerは、必要な数を ⌈現在の数 × 現在の値 ÷ 目標の値⌉ で求める。新しい台数が動き出すまでには時間がかかるので、急な負荷の増加には余裕をもった目標値で備え、台数が頻繁に変わりすぎないよう、減らす前に様子を見る時間を設けることが多い。

「オートスケーリング」は、2分野の2問の練習問題に出てきます(システム構成と信頼性設計, クラウドとコンテナの基礎など)。

この用語の分野: クラウドとコンテナの基礎

オートスケーリングの練習問題に挑戦

負荷に応じてサーバの台数を自動で増減するオートスケールを使うシステムの設計として、一般に望ましいものはどれか。

  1. A各サーバのローカルディスクに、そのサーバだけがもつ業務データを保存しておく
  2. B利用者のセッションの情報を、各サーバのメモリではなく共有のデータストアに保存し、どのサーバが要求を処理しても同じ結果になるようにする
  3. C台数を減らすときは、処理中の要求があってもすぐにサーバを停止する
答えと解説を見る

正解:B. 利用者のセッションの情報を、各サーバのメモリではなく共有のデータストアに保存し、どのサーバが要求を処理しても同じ結果になるようにする

オートスケールでは、サーバがいつ追加されたり削除されたりしても困らないように、各サーバに固有の状態をもたせない(ステートレスにする)設計が望まれます。セッションの情報や業務データを共有のデータストアに置けば、どのサーバが要求を受けても同じように処理でき、台数を減らしてもデータは失われません。台数を減らすときは、新しい要求の振り分けを止めて、処理中の要求が終わるのを待ってから停止します。

解説の中の「オートスケーリング」

「オートスケーリング」が出てくる問題(2問)

  1. 負荷に応じてサーバの台数を自動で増減するオートスケールを使うシステムの設計として、一般に望ましいものはどれか。
  2. Podのコンテナに上の設定をしたDeploymentで、Podが4つ動いており、どのPodもCPUを400m(0.4コア)ずつ使っている。HorizontalPodAutoscalerのCPU使用率の目標を60%とし、必要なPodの数は ⌈現在の数 × 現在の使用率 ÷ 目標の使用率⌉ で求めるものとする。必要なPodの数として、正しいものはどれか。

クラウドとコンテナの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

Pod コンテナ IaC(Infrastructure as Code) アベイラビリティゾーン イミュータブルインフラストラクチャ オブザーバビリティ オブジェクトストレージ カナリアリリース Kubernetes コンテナイメージ

用語集の一覧へ