Q76 — AWS DVA-C02 第3章
第 76/100 問 | ← 第3章
ある開発者が、Amazon Aurora PostgreSQL データベースに接続するサーバーレスアプリケーションを構築しています。このサーバーレスアプリケーションは複数の AWS Lambda 関数で構成されています。各 Lambda 関数がスケールアップするたびに、新しいデータベース接続が確立され、データベースリソースの消費が増加します。開発者は、データベースへの接続数を削減したいと考えています。この解決策は、Lambda 関数のスケーラビリティに影響を与えてはなりません。この要件を満たす解決策はどれですか?
- A. 各 Lambda 関数に対してプロビジョニング済み同時実行数(ProvisionedConcurrentExecutions)を 10 に設定して、プロビジョニング済み同時実行を設定します。
- B. Aurora PostgreSQL のクラスターキャッシュ管理を有効化します。各 Lambda 関数の接続文字列をクラスターキャッシュ管理を指すように変更します。
- C. Amazon RDS Proxy を使用して接続プールを作成し、データベース接続を管理します。各 Lambda 関数の接続文字列をこのプロキシを参照するように変更します。 ✓
- D. 各 Lambda 関数に対して予約済み同時実行数(ReservedConcurrentExecutions)を 10 に設定して、予約済み同時実行を設定します。
正解: C. Amazon RDS Proxy を使用して接続プールを作成し、データベース接続を管理します。各 Lambda 関数の接続文字列をこのプロキシを参照するように変更します。
解説
多数の Lambda 関数を持つサーバーレスアプリケーションでは、Lambda 関数がスケールアップするたびに新しいデータベース接続が作成され、データベースリソースの過剰消費を招く可能性があります。データベース接続を効果的に管理するには、Amazon RDS Proxy を使用するのが適切です。このプロキシにより、各リクエストごとに新規接続を作成するのではなく、接続プールを構築できます。これにより、データベース接続数を削減し、パフォーマンスを向上させ、Lambda 関数のスケーラビリティを確保できます。他の選択肢について:選択肢 A は、プロビジョニング済み同時実行の設定を示していますが、これは実行リソースの保証を目的としており、データベース接続数の削減には直接寄与しません。選択肢 B は、Aurora PostgreSQL のクラスターキャッシュ管理の有効化を提案していますが、これは Amazon ElastiCache などのサービスと連携するものであり、データベース接続に直接影響を与えません。選択肢 D は、予約済み同時実行の設定を示していますが、これは Lambda 関数の最大同時実行数を制御するものであり、データベース接続数の削減とは無関係です。したがって、この状況に最も適した選択肢は C です。 【灯笼考证提供:swufelp1999】