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

ある企業は開発環境(dev)、テスト環境(test)、本番環境(prod)の3つのステージを単一のAmazon API Gateway REST APIで運用しようとしています。各環境ごとに異なるAWS Lambda関数をバックエンドとして呼び出し、コードやAPI定義を変更せずにデプロイを切り替える必要があります。この要件を満たす最小限の運用負荷で実現できる設定方法はどれですか。

A
API Gatewayのステージごとに個別のREST APIを作成し、それぞれのバックエンドLambdaのARNを直接ハードコードしてデプロイする。
各環境ごとに個別のREST APIを作成すると設定の重複が発生し、保守や管理の運用負荷が不必要に高くなってしまうため最適なアプローチではありません。
B
API Gatewayのステージ変数を使用してLambda関数のARNやエイリアスを定義し、統合リクエストのURIで変数を参照する。
✓ 正解
ステージ変数を利用してLambda関数のエイリアスやARNを動的に参照させることで、同じAPI定義から環境ごとに異なるLambda関数を安全かつ簡単に呼び出せます。
C
Lambda関数内でリクエストヘッダーに含まれるステージ名を判定し、適切な処理ロジックへ分岐するコードを実装する。
Lambda関数側で環境判定の処理を行うアプローチでは、呼び出すLambda関数自体を分割できず、API Gatewayのデプロイメント機能を有効活用できません。
D
API Gatewayのモック統合を利用して各環境のレスポンスを生成し、実際のLambda関数の呼び出しを代替する。
モック統合は実際のバックエンドを呼び出さずにダミーのレスポンスを返す機能であり、実際の環境差分を設定して処理を実行する用途には適していません。

解説

API Gatewayのステージ変数を使用することで、ステージ(dev/test/prod)ごとに固有のパラメータ(LambdaのARNやエイリアス名など)を定義できます。統合リクエストのURIに `${stageVariables.functionAlias}` のように参照を設定することで、単一のAPI定義を維持しながらデプロイ先環境を動的に切り替えることが可能です。APIを個別に複製作成するアプローチは管理コストを増大させ、モック統合は実際のバックエンド呼び出しを行わないテスト用機能であるため不適切です。

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

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

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