無限ノック › DEA 練習問題一覧 › 問題
DEAデータストアの管理

ある企業がAWS LambdaからAmazon RDS for PostgreSQLに接続するサーバーレスアーキテクチャを採用しています。通常時は問題ありませんが、セール期間中にLambda関数が同時に数千件実行されるとRDSのmax_connectionsに達して接続エラーが頻発します。RDSインスタンスのスペック変更を行わずに接続数の枯渇を解決する最善の方法はどれですか?

A
RDSインスタンスをdb.r6g.4xlargeにアップグレードしてmax_connectionsの上限を引き上げてピーク時の接続需要に対応する
インスタンスのアップグレードでmax_connectionsは増えますが、Lambda関数が数千件同時実行されるサーバーレス環境では上限を上げても接続枯渇のリスクが残ります。また問題文の「スペック変更を行わずに」という条件に反しており要件を満たしません。
B
Amazon RDS Proxyを導入してLambda関数からの接続をプールして共有し、RDSへの実際の接続数を削減して接続枯渇を解消する
✓ 正解
RDS ProxyはLambdaとRDSの間で接続プールと多重化を提供するフルマネージドサービスです。数千件のLambda関数からの接続をプールしてRDSへの実接続数を大幅に削減し、インスタンスのスペック変更なしに接続枯渇を解消できます。Lambdaはエンドポイント変更のみで導入できます。
C
Amazon ElastiCache for Redisをキャッシュ層として追加し、頻繁に参照される読み取りクエリをキャッシュしてRDSへの接続回数を削減する
ElastiCacheは頻繁に参照されるデータのキャッシュには有効ですが、書き込みトランザクションや強整合性が必要なクエリはRDSへの接続が依然必要です。セール中の注文処理など書き込みを伴うユースケースの接続数問題は解消されません。
D
Lambdaの予約済み同時実行数(Reserved Concurrency)を500に制限してRDSへの同時接続数を強制的に上限以下に抑える
予約済み同時実行数の制限で接続数は強制的に抑制できますが、セール期間中のLambda処理能力が大幅に低下します。キューイング遅延の増大や処理タイムアウトが発生してビジネス要件(セール中の処理能力確保)を満たせなくなります。

解説

選択肢BのAmazon RDS Proxyは、アプリケーションとRDSの間に位置するフルマネージドの接続プールサービスです。数千件のLambda関数からの接続要求を受け付け、RDSへの接続を効率的にプールして多重化します。Lambda側はRDS Proxyのエンドポイントに接続するだけでRDSへの実際の接続数を大幅に削減でき、インスタンスのスペック変更なしに接続枯渇を解消できます。フェイルオーバー時の接続維持も向上し、IAM認証やSecrets Managerとの統合によるセキュリティ強化も得られます。 選択肢AのRDSインスタンスのアップグレードはmax_connectionsを増やせますが、Lambda関数が数千件同時実行される環境では依然として上限に達する可能性があります。また問題文に「スペック変更を行わずに」という条件があるため要件を満たしません。 選択肢CのElastiCacheはキャッシュ層として有効ですが、書き込みや強整合性が必要なクエリはRDSへの接続が依然必要です。セール中の注文処理など書き込みを伴う操作の接続数問題は解消されません。 選択肢DのLambdaの同時実行数制限は接続数を上限以下に抑えられますが、セール期間中のスループットが低下し処理遅延やリクエスト失敗が増加してビジネス要件を満たせなくなります。

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

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

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