Q58 — AWS DVA-C02 第3章
第 58/100 問 | ← 第3章
ある会社が、Amazon API Gateway APIを用いたモバイルアプリケーションを開発しています。このアプリケーションはAWS Lambdaをバックエンドとして使用します。本番環境へのコード展開前に、専用の監視可能なテスト環境でコードをテストする必要があります。この要件を満たす解決策はどれですか?
- A. API Gatewayで単一のステージを使用します。各環境ごとにLambda関数を作成し、APIクライアントが環境と特定のLambda関数を示すクエリパラメーターを送信するよう設定します。
- B. API Gatewayで複数のステージを使用します。すべての環境で単一のLambda関数を作成し、Lambda環境変数に基づいて各環境向けの異なるコードブロックをLambda関数内に実装します。
- C. API Gatewayで複数のステージを使用します。各環境ごとにLambda関数を作成し、API Gatewayのステージ変数を設定して、各環境のLambda関数にトラフィックをルーティングします。 ✓
- D. API Gatewayで単一のステージを使用します。APIクライアントが環境を示すクエリパラメーターを送信するよう設定し、Lambda関数内でクエリパラメーターの値に応じて各環境向けの異なるコードブロックを実装します。
正解: C. API Gatewayで複数のステージを使用します。各環境ごとにLambda関数を作成し、API Gatewayのステージ変数を設定して、各環境のLambda関数にトラフィックをルーティングします。
解説
正解はCです。API Gatewayで複数のステージを使用することで、テスト環境と本番環境など、異なる環境を明確に分離できます。各環境ごとに独立したLambda関数を作成することで、それぞれの環境固有の処理ロジックを完全に分離・管理できます。さらに、API Gatewayのステージ変数を活用してトラフィックを各環境のLambda関数にルーティングすることで、環境ごとの正確な制御と管理が可能となり、専用の監視可能なテスト環境でのテスト要件を満たします。一方、Aはクエリパラメーターによる環境判別は非効率かつ非標準的です。Bは単一Lambda関数内での環境分岐がコードの複雑化・保守困難を招きます。Dは単一ステージ+クエリパラメーターによる分岐は、Cの多ステージ構成に比べて柔軟性・管理性に劣ります。したがって、正解はCです。 【灯笼考证提供:swufelp1999】