模擬問題集DEA-C01練習問題 7

DEA-C01 練習問題 7

AWS Data Engineer – Associate・データ運用とサポート・無料公開(全 200 問中 15 問を無料公開中)

問題
ある企業には、Amazon API Gateway の REST API と AWS Lambda 関数を使用して Amazon DynamoDB インスタンスからデータを取得するアプリケーションがあります。ユーザーから最近、アプリケーションの応答時間に断続的に高いレイテンシが発生していると報告がありました。データエンジニアが調査したところ、同社の他の Lambda 関数の呼び出しが増加したときに、この Lambda 関数が頻繁にスロットリング(throttling)されることが分かりました。 同社は、この API の Lambda 関数が他の Lambda 関数の影響を受けずに動作できるようにしたいと考えています。 最もコスト効率の高い方法(MOST cost-effectively)でこの要件を満たすソリューションはどれですか?

選択肢と解説

  • 1
    DynamoDB の読み込みキャパシティーユニット(RCU)の数を増やす。
  • 2
    Lambda 関数にプロビジョンドコンカレンシー(provisioned concurrency)を構成する。
  • Lambda 関数に予約済みコンカレンシー(reserved concurrency)を構成する。
  • 4
    Lambda 関数のタイムアウトと割り当てメモリを増やす。

解説

【正解】C

【0からの解説】
Lambda の同時実行数(concurrency)は、AWS アカウント・リージョン単位で共有のプール(既定 1,000 など)から消費されます。本問では「他の Lambda 関数の呼び出しが増えると、この API 用 Lambda がスロットリングされる」と明記されており、原因は共有プールを他の関数に食い尽くされていることです。

この問題の解決策が 予約済みコンカレンシー(reserved concurrency) です。特定の関数に同時実行数を予約しておくと、(1) 他の関数がいくら呼ばれてもその予約分は必ずこの関数のために確保され(隔離される)、(2) 同時にこの関数の上限にもなります。これにより API 用 Lambda は他関数の影響を受けずに動作できます。重要なのは、予約済みコンカレンシーの設定自体には追加料金がかからない 点で、最もコスト効率が良い選択です。よって C が正解です。

【誤りの選択肢】
A:DynamoDB の RCU を増やすのは読み込みスループット不足への対策であり、本問の原因である「Lambda の同時実行数のスロットリング」とは無関係です。
B:プロビジョンドコンカレンシーは、関数インスタンスを事前に初期化して待機させ、コールドスタートを無くす機能です。隔離にも使えますが、待機インスタンス分の料金が常時発生するためコスト効率では劣ります。本問はコールドスタートではなく「他関数によるスロットリング」が問題なので、無料で隔離できる予約済みコンカレンシーが適切です。
D:タイムアウトやメモリを増やしても、同時実行数の枯渇によるスロットリングは解消されません。レイテンシの根本原因(共有プールの奪い合い)に対処できていません。

【参考】
Lambda の予約済みコンカレンシーの設定
Lambda 関数のスケーリングとコンカレンシー
← 練習問題 6練習問題 8
DEA-C01 の模擬問題集は全 200

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

DEA-C01 の模試を受ける料金プランを見る

DEA-C01 の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15