メインコンテンツへ移動
SAA-C03High-Performing Architectures難易度標準

SAA-022

Lambda関数の処理時間が長く、CPU負荷も高いです。コード変更なしでCPU性能も上げたい場合、まず検討すべき設定はどれですか?

選択肢

解説と正解

解説と正解を読む(先に自分で回答してから開くのがおすすめです)

正解:C. Lambdaのメモリサイズを増やす

解説

Lambdaはメモリサイズを増やすと、割り当てられるCPU性能も増えます。CPU負荷が高い処理ではメモリ調整により処理時間が短くなる場合があります。

選択肢ごとの解説

A. CloudWatch Logsを無効化する

ログ無効化は根本的なCPU性能改善になりません。

B. Lambdaの関数名を変更する

関数名変更では性能は変わりません。

C. Lambdaのメモリサイズを増やす

正解です。Lambdaの性能調整でまず確認する設定です。

D. Lambdaを必ずVPCに接続する

VPC接続は必要な場合だけ使います。性能改善目的で必ず接続するものではありません。

実務での使いどころ

AWS Lambda のメモリサイズ設定は、割り当てメモリ量だけでなく、それに比例した vCPU 性能と I/O 帯域を同時に決定する。メモリを 128MB から 1769MB に増やすと vCPU 換算で 1 コア相当となり、CPU バウンドな処理(画像変換、暗号化、JSON パース、機械学習推論など)では処理時間が大きく短縮される場合がある。料金は「GB 秒」で課金されるため、メモリを 2 倍にしても処理時間が半分以下になれば総コストはむしろ下がるケースもある。 メモリチューニングを系統的に行うツールとして AWS Lambda Power Tuning(OSS / Step Functions ベース)があり、複数のメモリ設定で実関数を並列実行してコストと実行時間のグラフを得られる。実務ではこのツールを使って最適点を見つけ、provisioned concurrency でコールドスタートを抑える設計と組み合わせるのが一般的である。なお、メモリを増やしてもネットワーク I/O 待ち(DynamoDB や外部 API への呼び出し待ち)が支配的な処理では効果が小さく、その場合は並列化や接続再利用(コンテキスト外でのクライアント初期化)の方が効く。 SAA-C03 では「Lambda の処理時間が長い」「CPU 負荷が高い」「コード変更なしで性能を上げたい」という文脈でメモリサイズ調整が正解となる。関数名変更、CloudWatch Logs 無効化、VPC への必須接続といった誤答は、性能改善とは無関係な操作である。Power Tuning や provisioned concurrency、SnapStart(Java 向け)といった発展的なチューニング手法も上位試験では問われる。

関連リンク

関連サービス