【Lambdaの役割(パフォーマンス最適化)】
目次
🔍 1. 結論
💎 一言でいうと AWS Lambdaのパフォーマンスチューニングにおける最大の鉄則は、「Lambdaに割り当てる『メモリ』を増やすと、自動的に『CPU能力とネットワーク帯域』も比例して向上する」 ということです。
- 処理が遅い(重い)場合、メモリ割り当てを増やすのが唯一かつ最強の解決策。
- 起動に時間がかかる問題(コールドスタート)には、プロビジョニングされた同時実行 (Provisioned Concurrency) で対処する。
📈 2. SAAで出やすいポイント
- メモリとCPUの比例関係: Lambdaの設定項目に「CPUコア数」や「クロック周波数」はありません。128MBから10GBの間で「メモリ」を設定すると、AWS側がよしなにCPUパワーを割り当てます。つまり、「処理がタイムアウトして終わらない」場合の対策は 「Lambdaのメモリを増やす」 が正解になります。
- コールドスタート: Lambdaはしばらく呼び出しがないと、裏のコンテナが破棄されて「寝た状態」になります。次に呼ばれた時に環境を再構築する(OS起動やランタイムのロード)ため、最初の1回だけ数秒の遅延(コールドスタート)が発生します。
- Provisioned Concurrency (プロビジョニングされた同時実行): コールドスタートを無くすための機能です。あらかじめ指定した数のLambda環境を「常に温かい状態(起動済み)」で待機させておき、レイテンシに敏感なWebアプリなどで一貫した超高速な応答を実現します。
🗝 3. キーワードでの判断
| 問題文のキーワード | 疑う設定・機能 |
|---|---|
| 🚀 「Lambdaの計算処理が遅い」「タイムアウトする」「CPU性能を上げたい」 | Lambdaに割り当てるメモリサイズを増やす |
| ⏱️ 「最初の1回目の呼び出し時のレイテンシ(コールドスタート)をなくしたい」 | Provisioned Concurrency を設定する |
| 📈 「トラフィックに応じて並列処理を一気にスケールさせたい」 | AWS Lambda (サーバーレスアーキテクチャ) |
⚠️ 4. ひっかけポイント
🚫 よくある誤答パターン – 「LambdaのCPUを高性能モデルに変更する」 → そのような設定項目はありません。選べるのは「アーキテクチャ(x86 か arm64/Graviton)」と「メモリサイズ」だけです。 – 「コールドスタートを防ぐためにCloudWatch Eventsで5分おきにPingを打つ」 → 昔のハック(裏技)ですが、現在はAWS公式の「Provisioned Concurrency」という機能が用意されているため、試験の正解にはなりません。
💡 5. 覚え方
🧠 暗記ショートカット – Lambdaの性能 = 「大食い選手権」。 – 胃袋(メモリ)を大きく設定すると、勝手に顎の力(CPU)も強くなって食べるスピードが上がる。 – コールドスタート = 「寝起きの悪さ」。Provisioned Concurrency で常にカフェインを入れて起こしておく。
📚 6. 関連サービス
| アイコン | サービス名 | 高性能化における連携 |
|---|---|---|
| 🚪 | API Gateway | Lambdaの前段に置き、REST APIやWebSocketの入り口となる |
| 📨 | Amazon SQS | 大量の非同期メッセージをバッチでLambdaに流し込み、処理効率を最大化する |
🗒️ 7. Obsidian管理メモ
- 見返すタイミング: サーバーレスアーキテクチャのパフォーマンスチューニング学習時
- 関連ノート候補:
AWS_SAA_Serverless_Performance,AWS_SAA_Cold_Start
8. HTMLファイル名:
AWS_高性能設計_Lambda.html