システムアーキテクト 2025年 午前2 問21
問題文
コンテナ型仮想化におけるオーケストレーションの説明として、適切なものはどれか。
選択肢
ア:アプリケーションとその実行環境をまとめ、一つのOSで動作させることによって、システム資源のオーバーヘッドが少なくなり、高速に起動できる。
イ:ある物理サーバで動作している仮想サーバを、その仮想サーバで稼働しているソフトウェアは実行状態のまま、別の物理サーバに移動させる。
ウ:処理の順序やサービスの呼出しを制御するプログラムは存在せず、あらかじめ設定した動作条件に従って自律的に動作できる。
エ:処理の順序を制御するプログラムからのリクエストによってサービスを実行し、実行結果をレスポンスとして、制御するプログラムに返して処理を継続させる。(正解)
🔒 解説は解答すると表示されます
コンテナオーケストレーション【午前2解説】
正解の理由
設問の正答は エ です。オーケストレーションとは、処理の順序や全体の流れを中央の制御プログラムが管理し、必要なサービスを呼び出してその結果に応じて次の処理を進める仕組みを指します。選択肢エは「制御するプログラム(オーケストレーラ)がサービスへリクエストを送り、レスポンスを受けて処理を継続する」という中央制御による連携の説明になっており、オーケストレーションの本質を表しています。
なお、Kubernetes のようなオーケストレーションでは、ユーザやマニフェストが望ましい状態(desired state)を宣言し、コントローラやスケジューラなどの制御コンポーネントが現状と比較して差分を埋める(リコンシリエーション)ことでその状態を実現します。制御コンポーネントは宣言を受けて操作・監視を行う役割であり、望ましい状態を宣言するのはユーザやマニフェストであることを押さえてください。
解法ステップ
- 設問が問う概念は「中央で処理の順序・連携を管理する仕組みか」を確認する。
- 各選択肢のキーワードで意味を分類する(コンテナ化、ライブマイグレーション、自律的動作、中央制御)。
- 「中央の制御プログラムがサービス呼び出しと応答で処理を進める」記述がある選択肢を正解とする。
- 該当するのが選択肢エのためこれを選ぶ。
選択肢別の誤答解説
- ア: 「アプリケーションとその実行環境をまとめ、一つのOSで動作させる...」はコンテナ型仮想化(コンテナ化)の特徴の説明であり、オーケストレーションそのものの説明ではありません。コンテナ化が前提となることは多いですが、これ自体は管理・調整(オーケストレーション)の説明ではありません。
- イ: 「仮想サーバを実行状態のまま別の物理サーバに移動させる」は仮想マシンのライブマイグレーション(ライブ移行)の説明です。オーケストレーションの一機能として移動を指示することはあり得ますが、選択肢の記述はオーケストレーションの定義ではありません。
- ウ: 「処理の順序やサービスの呼出しを制御するプログラムは存在せず、あらかじめ設定した動作条件に従って自律的に動作する」は、中央制御を持たない「コレオグラフィ(choreography)」やイベント駆動アーキテクチャに近い概念です。オーケストレーションはむしろ中央で順序や呼び出しを制御しますので不適切です。
- エ: 中央の制御プログラムがサービスを呼び出して結果を受け取り処理を続行する、という記述がオーケストレーションの典型的な説明に合致します。
よくある誤解
- 「コンテナ化=オーケストレーション」と混同すること:コンテナ化は単に実行環境のパッケージ化であり、複数のコンテナを配置・スケール・管理するのがオーケストレーションです。
- 「オーケストレーションは各サービスが自律的に動く仕組み」と誤解すること:それはコレオグラフィに近い概念で、オーケストレーションは中央で全体のフローを管理します。
- 「コントローラが望ましい状態を宣言する」とする誤り:望ましい状態(desired state)はユーザやマニフェストが宣言し、コントローラは現状との差分を検出して実行・監視する(リコンシリエーション)役割を担います。
補足コラム
- オーケストレーションが担う主な機能:スケジューリング(どのノードで動かすか決定)、スケーリング(インスタンス数の調整)、自己修復(障害時の再起動・再作成)、ローリングアップデート(無停止での更新)、ネットワーク/サービスディスカバリの管理。
- 代表的なオーケストレータ:Kubernetes(コンテナオーケストレーション)、Docker Swarm、Apache Mesos、ワークフロー用途のAirflowやArgo Workflowsなど(アプリケーションやワークフローの制御に特化)。
- オーケストレーションとコレオグラフィ:オーケストレーションは中央制御、コレオグラフィは各サービスがルールに従って相互作用する分散制御。設計上、どちらを採るかで障害耐性やデバッグ性、運用負荷が変わります。
FAQ
Q. オーケストレーションは必ず同期的なリクエスト/レスポンスで動くのですか?
A. いいえ。中央制御による管理が本質で、同期/非同期いずれの呼び出しも含め得ます。重要なのは中央が全体のフローや状態遷移を管理する点です。
A. いいえ。中央制御による管理が本質で、同期/非同期いずれの呼び出しも含め得ます。重要なのは中央が全体のフローや状態遷移を管理する点です。
Q. Kubernetes のコントローラは何をするのですか?
A. ユーザやマニフェストが宣言した望ましい状態と現在の状態を比較し、差分を埋めるために必要な操作(Pod の作成・削除、再スケジュール等)を実行・監視するリコンシリエーションを行います。
A. ユーザやマニフェストが宣言した望ましい状態と現在の状態を比較し、差分を埋めるために必要な操作(Pod の作成・削除、再スケジュール等)を実行・監視するリコンシリエーションを行います。
Q. オーケストレーションと自動化(Automation)は同じですか?
A. 関連しますが厳密には異なります。自動化は個々のタスクを自動で実行すること、オーケストレーションは複数の自動化タスクを組み合わせてワークフロー全体を管理することです。
A. 関連しますが厳密には異なります。自動化は個々のタスクを自動で実行すること、オーケストレーションは複数の自動化タスクを組み合わせてワークフロー全体を管理することです。
関連キーワード: コンテナ、オーケストレーション、Kubernetes、リコンシリエーション、コレオグラフィ

\ せっかくなら /
システムアーキテクトを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

