無限ノック › DVA 練習問題一覧 › 問題
DVAAWSのサービスを使用した開発

スタートアップ企業がモバイルアプリ向けバックエンドAPIを新規構築しています。要件は「①Lambda関数との統合、 ②Amazon Cognito User PoolsのJWTトークンによる認証、 ③CORS設定、 ④レスポンスレイテンシとコストの最小化」です。APIリクエストキャッシング、APIキーと使用量プラン(スロットリング管理)、リクエスト/レスポンスのマッピングテンプレートは現時点では不要です。この要件に最も適したAPI Gatewayのタイプはどれですか?

A
REST API — Cognito User Poolオーソライザーを設定し、Lambda Proxy統合を使用する。REST APIはすべての機能を備えた完全なAPIプラットフォームであるため最適である
REST APIも機能的には要件を満たしますが、コストとレイテンシがHTTP APIより高く「最小化」という要件に反します。
B
HTTP API — JWTオーソライザー(Cognito User Poolsを発行者として設定)とLambda統合を使用する。REST APIと比較して最大71%低コストかつ低レイテンシで、JWT認証とCORSをネイティブサポートする
✓ 正解
HTTP APIはREST APIと比較して最大71%低コスト・低レイテンシで、Lambda統合とJWTオーソライザー(Amazon Cognito User PoolsやAuth0等)をネイティブサポートしています。CORSも簡単に設定できます。要件に含まれないキャッシング・使用量プラン・マッピングテンプレートはREST API固有の機能であり、不要な場合はHTTP APIが最適解です。
C
WebSocket API — モバイルアプリとの双方向通信に対応しており、接続を維持するため低レイテンシが実現できる
WebSocket APIは双方向通信(チャット・ライブ通知等)のためのプロトコルであり、通常のリクエスト/レスポンス型REST APIには不適切です。
D
REST API — カスタムLambdaオーソライザーを実装してCognito JWTを検証し、キャッシュを無効化してレイテンシを最小化する
REST APIにカスタムLambdaオーソライザーを組み合わせる構成はHTTP APIのJWTオーソライザーより複雑かつ高コストで、要件の最小化に反します。

解説

正解: HTTP API — JWTオーソライザー(Cognito User Poolsを発行者として設定)とLambda統合を使用する。REST APIと比較して最大71%低コストかつ低レイテンシで、JWT認証とCORSをネイティブサポートする HTTP APIはREST APIと比較して最大71%低コスト・低レイテンシで、Lambda統合とJWTオーソライザー(Amazon Cognito User PoolsやAuth0等)をネイティブサポートしています。CORSも簡単に設定できます。要件に含まれないキャッシング・使用量プラン・マッピングテンプレートはREST API固有の機能であり、不要な場合はHTTP APIが最適解です。 選択肢AのREST APIも機能的には要件を満たしますが、コストとレイテンシがHTTP APIより高く「最小化」という要件に反します。 選択肢CのWebSocket APIは双方向通信(チャット・ライブ通知等)のためのプロトコルであり、通常のリクエスト/レスポンス型REST APIには不適切です。 選択肢DのREST APIにカスタムLambdaオーソライザーを組み合わせる構成はHTTP APIのJWTオーソライザーより複雑かつ高コストで、要件の最小化に反します。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DVA の問題一覧に戻る