ITパスポート 令和5年度 問70:computer_systemに関する問題
Webサービスなどにおいて,信頼性を高め,かつ,利用者からの多量のアクセスを処理するために,複数のコンピュータを連携させて全体として一つのコンピュータであるかのように動作させる技法はどれか。
- aクラスタリング正答
- bスプーリング
- cバッファリング
- dミラーリング
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a「クラスタリング」 です。
たくさんのお客さんが一度に来ても困らないように、コンピュータを何台も用意して“みんなで力を合わせて1台のように”働かせる仕組みです。チームを組めば、1人が倒れても他の人がカバーできるし、仕事も分担できて速い——そんなイメージ。
👉 覚え方:「クラスター=かたまり・チーム」。何台かをチームにして1台っぽく動かす。
ほかの選択肢:b スプーリング=印刷待ちの順番待ち/c バッファリング=動画を先にためて止まらず再生/d ミラーリング=同じデータを2か所にコピーして保存。どれも“複数台を1台のように連携”ではない。
なぜこれが正解か
正解は a。クラスタリングは、複数のコンピュータ(サーバ)を連携させ、全体で1台のシステムのように動作させる技法。負荷を分散して多量アクセスを処理し、1台が故障しても他が引き継ぐことで信頼性(可用性)を高められる。
各選択肢の解説
- b スプーリング:印刷データ等を一時的にためて、低速な装置の処理待ちでCPUを遊ばせない仕組み。
- c バッファリング:データを一時的に蓄えて処理速度差を吸収する手法(動画の先読み等)。
- d ミラーリング:同じデータを複数のディスクに二重書き込みする冗長化(RAID1)。
覚え方・ひっかけ注意
「クラスタ=かたまり・束ねる=複数台を1台に見せる」。設問の「複数のコンピュータを連携させ全体で1つのように」がそのまま定義。冗長化のミラーリング(ディスクの話)と混同しないこと。
理論的背景
クラスタリング(Clustering)は複数のコンピュータを論理的に結合し、外部からは単一のシステムとして動作するように見せる技術であり、(1)高可用性クラスタ(HA Cluster:High Availability Cluster)と(2)負荷分散クラスタ(Load Balancing Cluster)の2つの主要な目的で使われる。
高可用性クラスタは冗長化を目的とし、ノードの一台が障害を起こしても他のノードがフェイルオーバー(Failover:引き継ぎ)して処理を継続することで、サービスの中断時間を最小化する。アクティブ-スタンバイ構成(1台が稼働し1台が待機)とアクティブ-アクティブ構成(複数台が同時稼働・相互にフェイルオーバー可能)がある。
負荷分散クラスタはスケーラビリティを目的とし、複数のサーバにリクエストを分散することで単一サーバの処理能力の限界を超えるアクセスに対応する。ラウンドロビン・最小接続数・IP Hash(同一クライアントは同一サーバへ)などの分散アルゴリズムを持つロードバランサ(負荷分散装置)がフロントに置かれる。
本問の説明「信頼性を高め・多量のアクセスを処理するために・複数コンピュータを連携させて全体として一つのコンピュータであるかのように動作させる」は、クラスタリングの高可用性クラスタと負荷分散クラスタの両特性を包含する定義であり、正解として「クラスタリング」が最も適切である。
実務での使われ方
Webサービスの大規模クラスタリングの代表例として、Googleの数百万台規模のクラスタ・Amazonのマイクロサービスアーキテクチャ・Netflixのクラウドネイティブアーキテクチャが有名であり、いずれも「外部からは1つのサービスに見える」という特性のもとで大量のリクエストを処理している。
現代のクラスタリングはコンテナオーケストレーション技術と密接に結びついており、Kubernetes(K8s)はコンテナ化されたアプリケーションのクラスタ管理(デプロイ・スケーリング・ヘルスチェック・フェイルオーバー)を自動化する事実上の業界標準となっている。Kubernetesは「Podが落ちたら自動で再起動」「負荷に応じてPodを自動的にスケールアウト」「ノード障害時に別ノードでPodを再スケジュール」などの高可用性・負荷分散機能を自動化して提供する。
データベースクラスタリングとして、PostgreSQLのPatroni・MySQL Group Replication・AWS Aurora(分散ストレージを持つマルチノード構成)などが実際のサービスで広く使われており、データベース層でも「複数ノードで1つのDBとして機能する」クラスタリングの概念が重要な設計要素となっている。
試験での位置づけ
ITパスポートのテクノロジ系・コンピュータシステム分野では、クラスタリング・ミラーリング・スプーリング・バッファリングという類似した技術用語の区別が安定して出題される。これらは「複数のリソースの組み合わせ」という共通点を持ちながら目的が全く異なるため、各技術の「何のために使うか」という目的の観点で整理することが最効率の学習方法である。
本問の選択肢設計として、スプーリング・バッファリングという「データの一時的な格納・調整技術」と、ミラーリングという「クラスタリングとよく混同される冗長化技術」を組み合わせた設計になっている。「複数コンピュータを連携させる」という表現から「コンピュータ複数台の協調」がキーワードと特定し、単一コンピュータ内の技術(スプーリング・バッファリング)とデータ複製技術(ミラーリング)を排除するという推論が正答への道筋となる。
選択肢の発展補足
スプーリング(b:Spooling=Simultaneous Peripheral Operation On-Line):プリンタ・磁気テープなど低速な入出力機器に対して、データをいったんハードディスク(スプールバッファ)に書き出し、CPU・高速デバイスとの速度差を吸収しながら段階的に出力する技術。「複数コンピュータの連携」ではなく「単一コンピュータ内での入出力速度差の調整」が目的であり、本問の定義と全く異なる。Linuxの印刷システム(CUPS)がスプーリングを実装している代表例。
バッファリング(c:Buffering):処理速度の異なる2つのデバイス・プロセス間にバッファ(一時的な記憶領域)を置き、速度差を緩和して効率的なデータ転送を実現する技術。動画ストリーミングでの「バッファ中...」はその典型で、ネットワーク受信速度と再生速度の差を吸収する。スプーリングはバッファリングの特殊形態とも言えるが、スプーリングはディスクを使う大規模バッファリングを指す場合が多い。
ミラーリング(d:Mirroring):ストレージまたはシステム全体の完全な複製(ミラー)を維持することで冗長性を確保する技術。RAID1(ディスクミラーリング)が代表例。ミラーリングは確かに「複数のディスク・システム」を使うが、「全体として1つのシステムとして見せる複数コンピュータの連携」ではなく、「完全な複製を持つことによる信頼性向上」が主目的であり、負荷分散機能を持たない点でクラスタリングと異なる。高可用性クラスタはミラーリング的な側面を持つが、より広い概念として負荷分散・スケールアウトも含む。
出典:IPA(情報処理推進機構)公式 ITパスポート試験 令和5年度 問70/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。