メインコンテンツへ
開発技術開発実践

API Gatewayの主な役割として、最も適切なものはどれか。

ア.API Gatewayはマイクロサービス間の内部通信を管理するサービスメッシュの同義語であり、外部クライアントとは無関係な内部専用コンポーネントである。
イ.API GatewayはAPIのドキュメントを自動生成するツールで、SwaggerやOpenAPIの仕様ファイルをもとにHTMLページを公開する機能を提供する。
ウ.API GatewayはデータベースへのSQL接続を抽象化するミドルウェアで、ORMの一種として機能する。
エ.API Gatewayはクライアントからのリクエストを受け取り、認証・認可・レート制限・ルーティング・プロトコル変換などを一元的に処理するエントリーポイントで、バックエンドサービスの複雑さをクライアントから隠蔽する。正解

解説

API Gatewayは「大企業の受付窓口」。お客さん(クライアント)は受付一箇所に来れば良い。受付が「あなたは営業部へ・あなたは技術部へ」とルーティングし、来た人が本物かどうか(認証)もここで確認する。社内の複雑な組織図(マイクロサービス構成)をお客さんが知る必要はない。

なぜ エ が正解か

エが正解。AWS API Gateway・Kong・Apigeeが代表例。担当機能は多岐にわたる:①認証(JWT検証・OAuth)・②認可(スコープチェック)・③レート制限(DoS防御)・④SSLターミネーション・⑤リクエストルーティング・⑥プロトコル変換(REST↔gRPC等)・⑦ログ・トレース収集。BFFパターン(Backend for Frontend)の実装にも使われる。

なぜ イ は間違いか

APIドキュメント自動生成はSwagger UI・Redoc・Scalar等のツールの機能。API Gatewayはリクエスト処理の実行基盤であり、ドキュメント生成ツールではない。

なぜ ウ は間違いか

ORMはオブジェクトとDBテーブルをマッピングする技術(Sequelize・Prisma等)。API GatewayはDB接続とは無関係。

なぜ ア は間違いか

サービスメッシュ(Istio・Linkerd等)はマイクロサービス内部のEast-West通信を管理する。API GatewayはNorth-South(外部クライアント↔内部サービス)の制御。両者は別物だが組み合わせて使う。

出典: AI生成問題(学習用)