忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【システム構成要素】複雑な通信をスマートに管理!「サービスメッシュ」|情報処理問題1000本ノック


システムを小さなサービスの集合体として構築する「マイクロサービス」。サービスが増えるほど難しくなる「サービス間の通信」を一括管理する仕組みを攻略しましょう。

1. 問題:マイクロサービス間の通信制御

【 問題 】 マイクロサービスアーキテクチャにおいて、サービス間の通信(サービス間連携)を制御するためのインフラ層のことを何と呼ぶでしょうか? 認証・認可、暗号化、リトライ(再送)、動的なルーティングなどをアプリケーションコードから分離して実現します。

① APIゲートウェイ   ② サービスメッシュ   ③ コンテナオーケストレーション   ④ ロードバランサ

2. 正解:システムアーキテクチャに関する正解

正解: ② サービスメッシュ

3. 解説:アプリケーションを通信の悩みから解放する

サービスメッシュは、各サービスの横に「サイドカー(プロキシ)」を配置し、通信処理をすべてそのプロキシに任せる仕組みです。これにより、開発者は「通信が失敗したらどうするか」というコードを書かずに、ビジネスロジックに集中できます。

【図解:サイドカーパターンのイメージ】

[ サービスA ] ─── [ プロキシ ]
                      │ (認証・暗号化・再送)
[ サービスB ] ─── [ プロキシ ]

サービスメッシュが提供する主な機能
可観測性:どのサービス間が混雑しているか可視化する。
トラフィック制御:A/Bテストやカナリアリリースを容易にする。
セキュリティ:サービス間の通信を自動で暗号化(mTLS)する。
回復性:タイムアウト設定や再送、サーキットブレーカーを適用する。
[ 関連用語の整理 ]
サイドカー (Sidecar):主となるアプリケーションと同じ場所に配置される補助的なプロキシ(例:Envoy)。
コントロールプレーン:メッシュ全体のポリシーを管理・配布する司令塔(例:Istio)。
サーキットブレーカー:通信エラーが続く際、一時的に遮断して連鎖的なシステムダウンを防ぐ仕組み。

1. 理解のコツ: サービス同士が直接話すのではなく、それぞれに「専属の秘書(プロキシ)」をつけて、秘書同士が複雑な調整(認証や再送)を行うイメージです。網目(メッシュ)のように張り巡らされた通信経路を、一元管理する「見えないインフラ」だと考えましょう。
2. 試験対策の視点: 「マイクロサービス間」「認証・認可」「再送処理の一括管理」というキーワードが出たらサービスメッシュです。APIゲートウェイとの違いは、APIゲートウェイが「外部からの入り口」を守るのに対し、サービスメッシュは「内部同士の通信」を支える構成要素である点にあります。


4. まとめ

「サービス間の通信機能をインフラ層として切り出し、網目状に管理する」。これがサービスメッシュです。システムの規模が大きくなっても、安全かつ確実に通信を繋ぎ続けるための現代的なアーキテクチャであることを押さえておきましょう!



PR