Q63 — AWS SAA-C03 第10章
第 63/100 問 | ← 第10章
Q663. ある会社では、AWS Batchジョブを用いて毎日の営業終了時の処理を実行しています。同社は、AWS Batchジョブが正常終了(SUCCEEDED)した際に、サードパーティのレポーティングアプリケーションを呼び出すサーバーレスなソリューションを必要としています。このレポーティングアプリケーションは、ユーザー名とパスワードによる認証をサポートするHTTP APIインターフェイスを提供しています。 これらの要件を満たすソリューションはどれですか?
- A. Amazon EventBridgeルールを設定し、受信したAWS BatchジョブのSUCCEEDEDイベントに一致するようにします。サードパーティAPIを、ユーザー名とパスワードを指定したEventBridge API Destinationとして構成し、そのAPI DestinationをEventBridgeルールのターゲットとして設定します。
- B. Amazon EventBridge Schedulerを設定し、受信したAWS BatchジョブのSUCCEEDEDイベントに一致するようにします。ユーザー名とパスワードを使用してサードパーティAPIを呼び出すAWS Lambda関数を構成し、そのLambda関数をEventBridgeルールのターゲットとして設定します。
- C. AWS Batchジョブを設定し、ジョブのSUCCEEDEDイベントをAmazon API Gateway REST APIに送信するようにします。API Gateway REST APIには、ユーザー名とパスワードを使用したサードパーティAPI呼び出しを実現するHTTPプロキシ統合を構成します。
- D. AWS Batchジョブを設定し、ジョブのSUCCEEDEDイベントをAmazon API Gateway REST APIに送信するようにします。API Gateway REST APIには、AWS Lambda関数へのプロキシ統合を構成します。Lambda関数は、ユーザー名とパスワードを使用してサードパーティAPIを呼び出します。 ✓
正解: D. AWS Batchジョブを設定し、ジョブのSUCCEEDEDイベントをAmazon API Gateway REST APIに送信するようにします。API Gateway REST APIには、AWS Lambda関数へのプロキシ統合を構成します。Lambda関数は、ユーザー名とパスワードを使用してサードパーティAPIを呼び出します。
解説
AWS Batchジョブが正常終了(SUCCEEDED)した際に、ユーザー名とパスワードによる認証が必要なサードパーティのレポーティングアプリケーションを呼び出すという要件を満たすソリューションは、選択肢Dです。 理由は以下の通りです。 選択肢D:AWS Batchジョブを設定し、SUCCEEDEDイベントをAmazon API Gateway REST APIに送信するよう構成します。API Gateway REST APIにはLambda関数へのプロキシ統合を設定し、Lambda関数がユーザー名とパスワードを用いてサードパーティAPIを呼び出します。このアプローチでは、AWS Batchジョブが完了するとAPI Gatewayを経由してLambda関数が起動され、Lambda関数が認証付きで外部APIを安全に呼び出します。これは完全にサーバーレスな設計であり、認証情報の管理やHTTPリクエストの制御もLambda内で柔軟に実装可能です。 選択肢A:Amazon EventBridgeは優れたイベント駆動型サービスですが、EventBridge API Destinationは、基本認証(ユーザー名/パスワード)を直接サポートしておらず、認証ヘッダーの付与やシークレット管理などの機能がありません。 選択肢B:EventBridge Schedulerはスケジュールされたイベントの発行に特化しており、AWS Batchの実行完了イベントを自動的に検知・トリガーする機能はありません。また、Scheduler自体がAPI呼び出しを行うわけではなく、Lambdaを介する必要がありますが、この選択肢ではBatchイベントとの連携方法が明示されていません。 選択肢C:API GatewayのHTTPプロキシ統合は、バックエンドのHTTPエンドポイントへリクエストをそのまま転送しますが、ユーザー名・パスワードによる基本認証(Basic Auth)ヘッダーの自動付与は行わず、認証情報の埋め込みやセキュアな管理が困難です。そのため、要件である「ユーザー名とパスワードによる認証」を安全かつ確実に実現できません。 以上より、要件を正しく満たすのは、AWS BatchジョブからAPI Gatewayを経由してLambda関数を呼び出し、Lambda内で認証付きでサードパーティAPIを実行する選択肢Dです。