DVAAWSのサービスを使用した開発

開発チームはAmazon API Gatewayを使用してREST APIを構築しています。開発(dev)、検証(test)、本番(prod)の3つの環境において、それぞれ対応するAWS Lambda関数を呼び出す構成にする必要があります。APIの定義や設定内容を環境ごとに個別作成・維持することなく、最小限の運用負担で環境差分を吸収・管理するための推奨されるアプローチはどれですか。

A
API Gatewayのモック(MOCK)統合を利用し、リクエストヘッダーに含まれる環境名に応じて異なるLambdaへリダイレクトするマッピングを定義する。
モック統合は実際のバックエンドを呼び出さずにダミーレスポンスを直接返却する機能であり、本番処理の動的ルーティングには使えません。
B
API Gatewayのステージ変数を作成し、統合リクエストにおけるLambda関数のARN参照部に `${stageVariables.functionAlias}` を組み込む。
✓ 正解
ステージ変数を使用してLambdaのエイリアスを動的に参照することで、単一のAPI構成を維持しつつ各環境で異なるLambda関数を安全に呼び出せます。
C
Lambda関数のソースコード内で、API Gatewayから渡されるリクエストコンテキストのステージ名を判定して処理ロジックを分岐させる。
Lambda関数側で環境分岐を行う設計では、環境ごとにLambdaのソースコードやリソース自体を分離して管理・評価するというベストプラクティスを満たせません。
D
各環境(dev/test/prod)ごとに独立したAPI Gateway REST APIインスタンスを新規作成し、それぞれの統合リクエストに固定のLambda ARNを設定する。
環境ごとにAPI Gatewayを個別に作成・複製する方法は設定変更時の重複作業が発生し、管理運用コストとミスのリスクが高まります。

解説

API Gatewayの「ステージ変数」機能を使用すると、デプロイ先のステージ(dev/test/prod)ごとに異なるパラメータ値を定義できます。統合リクエストのURI指定部で `${stageVariables.functionAlias}` のようにステージ変数を組み込むことで、単一のAPI定義を維持したまま、各ステージが呼び出すLambda関数のバージョンやエイリアスを動的に切り替えることができます。個別のAPIインスタンス作成は管理オーバーヘッドを激増させるため不適切です。

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

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

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