naritai.app

システム構成

この章で覚えておきたいこと

クライアント、サーバ、3層、仮想化、クラウドの判断軸を一枚で整理する図解

基本知識

クライアントサーバシステムの考え方

利用者端末とサーバの役割分担を、画面入力と業務処理、データ管理で見分ける図解

クライアントサーバシステムは、利用者が操作するクライアントと、データやサービスを提供するサーバに役割を分ける構成です。クライアントは画面表示や入力受付を担い、サーバは業務処理やデータ管理を担うのが基本です。

この構成の利点は、役割分担を明確にしやすいことです。端末側の使いやすさを高めつつ、データや重要処理をサーバ側で集中管理しやすくなります。一方で、ネットワーク障害の影響を受けやすく、クライアント側の設定や更新をどう管理するかも課題になります。

2層構成と3層構成

2層と3層の違いを、画面、業務処理、データ管理の置き場所で比べる図解

2層構成では、クライアントとサーバの2つでシステムを考えます。クライアントが画面表示だけでなく一部の業務処理も担当し、サーバがデータベースを持つ形が典型です。

3層構成では、役割を次のように分けます。

試験では、3層構成を「必ず3台のサーバで動かす構成」と誤解させる選択肢がよく出ます。3層とは論理的な役割分担であり、物理的な台数とは別です。1台に複数層を載せることもあれば、負荷分散や保守性向上のために複数台へ分けることもあります。

Webシステムと三層の役割分担

ブラウザ、Webサーバ、アプリケーションサーバ、データベースサーバの役割を分けて読む図解

Webシステムでは、利用者はブラウザからHTTPやHTTPSでアクセスします。要求を受けるのがWebサーバで、必要に応じてアプリケーションサーバへ処理を渡し、その結果をデータベースサーバとやり取りしながら返します。

役割の見分け方は次のとおりです。

過去問では、Webサーバとアプリケーションサーバの役割、またはアプリケーションサーバとデータベースサーバの役割を入れ替えた選択肢がよく出ます。まず「画面」「業務処理」「データ管理」のどれを担当しているかで切り分けると判断しやすくなります。

HTML、JavaScript、PHPはどこで処理されるか

HTML、JavaScript、PHPの処理場所をブラウザとサーバで切り分ける図解

この論点は頻出です。似た用語でも、どこで解釈・実行されるかが違います。

試験では、HTMLを「サーバで実行されるプログラム」と誤って説明したり、JavaScriptを常にサーバ側処理として扱ったりする選択肢が出ます。HTMLは表示内容、JavaScriptは主にクライアント側の動き、PHPは主にサーバ側の処理という基本線を崩さないことが重要です。

URL、ローカルパス、ホスト名の違い

URL、ローカルパス、ホスト名が指す対象の違いを端末とネットワークで見分ける図解

URLは、ネットワーク上の資源の場所を表す表記です。通常は、利用する通信方式、接続先、資源の位置を含みます。

一方、ローカルパスは、今使っているコンピュータの中でファイルがどこにあるかを示す表記です。たとえば Windows の C:\... のような表記はローカルパスです。

ホスト名は、ネットワーク上の接続先コンピュータやサーバを識別する名前です。URLの一部として現れることはありますが、URLそのものではありません。

問題文を読むときは、次の順で分解すると混同しにくくなります。

仮想化の基本

1台の物理サーバ上に複数の仮想マシンを載せる仮想化の基本を示す図解

仮想化は、物理的なサーバ、CPU、メモリ、記憶装置などの資源を、論理的に分割または統合して使いやすくする技術です。代表例はサーバ仮想化で、1台の物理サーバ上に複数の仮想マシンを作り、それぞれ独立したOSやアプリケーションを動かします。

仮想化の利点は次のとおりです。

一方で、仮想化基盤に障害が起きると、その上の複数システムへ影響が広がる可能性があります。そのため、可用性設計やバックアップ設計も重要です。

方式名が出たときは、OSを丸ごと分けるのか、アプリ実行環境だけを分けるのかで切ります。

| 方式 | 何を分けるか | 特徴 | 典型的なひっかけ | |---|---|---|---| | ハイパーバイザ型 | 物理サーバ上に複数の仮想マシン | サーバ統合やクラウド基盤で使われる | ホストOS上のアプリではなく、仮想マシンを直接管理する | | ホストOS型 | ホストOS上に仮想マシン | 既存PC上で別OSを試しやすい | ホストOSの影響を受けない完全独立環境とはいえない | | コンテナ | OSカーネルを共有し、アプリ実行環境を分離 | 起動が軽く、配布・移行しやすい | OSを丸ごと仮想化する方式ではない | | 仮想マシン | 仮想的なハードウェア上でOSを動かす単位 | OS単位で分離しやすい | コンテナより必ず軽い、は誤り |

クラウドのサービスモデルであるSaaS、PaaS、IaaSは クラウドコンピューティング で整理します。ここでは、仮想化はクラウドそのものではなく、クラウドを支える実装技術の一つだと押さえます。

シンクライアントとVDI

端末側を軽くし、サーバ側の仮想デスクトップを使う VDI を比較する図解

シンクライアントは、端末側にアプリケーションやデータをなるべく持たせず、サーバ側で管理や処理を行う考え方です。端末を軽くでき、情報漏えい対策や端末管理の簡素化に向きます。

VDIは、Virtual Desktop Infrastructure の略で、利用者ごとのデスクトップ環境をサーバ側の仮想マシンとして用意し、ネットワーク経由で利用させる仕組みです。各利用者は自分専用のデスクトップを遠隔利用している感覚で使えます。

両者の共通点は、端末側に重要なデータや処理を置きにくいことです。違いとしては、VDIは特に仮想デスクトップを提供する方式である点が重要です。試験では、シンクライアント、VDI、通常PCの違いを情報の所在と管理方式で比較させることがあります。

クラウドの配備モデル

パブリック、プライベート、コミュニティ、ハイブリッドの配備モデルを具体場面で見分ける図解

クラウドは、計算資源やストレージ、アプリケーションなどをネットワーク経由で必要に応じて利用する形態です。試験ではサービスモデルよりも、まず配備モデルの違いが問われやすいです。

配備モデルは次のように整理します。

ハイブリッドクラウドは、単に複数のクラウド事業者を使うことだけを意味しません。性質の異なる基盤を組み合わせることが本質です。また、仮想化はクラウドを支える技術の1つですが、仮想化とクラウドは同義ではありません。

この章のまとめ

システム構成の頻出論点を最終確認するためのまとめ図解

一次試験過去問での出方

2008年度第5問では、ローカルファイルの参照とWeb上の参照を対比させ、URL、ローカルパス、ホスト名の違いを判定させました。

2008年度第6問では、HTML、JavaScript、PHPなどがどこで処理されるかを問いました。処理場所を機械的に切り分けられるかが得点差になります。

2010年度第6問では、3層クライアントサーバシステムの役割分担が問われました。層の論理構造と物理台数を混同しないことが重要です。

2020年度第4問・第5問、2024年度第6問、2025年度第2問・第4問では、仮想化、クラウド、Web技術、配備モデルなどを横断して問う形が目立ちます。

近年は古典的なクライアントサーバの定義だけでなく、仮想化、VDI、クラウド配備モデルまで含めて「どこで何を処理し、誰が何を使う構成か」を判断させる出題が中心です。