LinuCレベル2 システムアーキテクチャの設計 問19
システムアーキテクチャの設計/キャパシティプランニングとスケーラビリティの確保アクセス増加に応じてWebサーバーを短時間でスケールアウトできるようにするための準備として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムアーキテクチャの設計」に対応。実際の試験問題ではありません)
- A各サーバーを手作業で個別に設定し、サーバーごとの違いを手順書に記録しておく
- Bサーバー1台の性能を上げておき、増設せずに負荷の増加をすべて吸収できるようにする
- C構成済みの仮想マシンイメージや構成管理ツールで、同一構成のサーバーを自動で作れるようにする
- Dセッション情報を各Webサーバーのローカルディスクに保存し、サーバー間で共有しないようにする
正解:C
解説
スケールアウトでは同じ役割のサーバーを追加するため、追加するサーバーを素早く、かつ既存のサーバーと同一の構成で用意できることが重要です。必要なソフトウェアや設定を含めた仮想マシンイメージ(テンプレート)を用意しておく方法や、AnsibleやChefなどの構成管理ツールで設定をコード化して自動適用する方法が使われます。手作業による構築は時間がかかり、サーバー間で設定の差異が生じやすくなります。あわせて、セッションなどの状態を各サーバーに持たせないステートレスな構成にしておくと、台数の増減が容易になります。
選択肢ごとの解説
- A誤り。手作業で個別に設定すると構築に時間がかかり、設定の差異も生じやすいため、短時間でのスケールアウトには向きません。
- B誤り。1台の性能を上げるのはスケールアップの考え方で、台数を増やすスケールアウトの準備ではありません。
- C正しい。イメージや構成管理ツールで同一構成のサーバーを自動で作れるようにしておくと、短時間で台数を増やせます。
- D誤り。セッション情報を各サーバーのローカルに持たせると、サーバーを追加・削除したときに利用者のセッションが失われやすく、スケールアウトの妨げになります。