SAAコスト最適化されたアーキテクチャの設計複数選択
あるSaaS企業は、毎月数十億回実行されるAWS Lambda関数を中心としたサーバーレスアーキテクチャを採用しています。Lambda関数はx86_64アーキテクチャで動作しており、平均実行時間は600msです。アプリケーションはPythonで実装されており、特定のCPU命令セットへの依存はありません。Lambda実行コストを削減しながら、可用性への影響を最小限に抑える施策として正しいものを2つ選んでください。
ALambda関数のアーキテクチャをarm64(Graviton2)に変更し、同等以上のパフォーマンスで約20%の料金削減を実現する
✓ 正解
arm64(Graviton2)はx86_64より料金が約20%低く、同等以上のパフォーマンスを発揮する。Pythonなどのインタープリタ型言語はCPU命令セット依存がなければコード変更なしに再デプロイするだけでarm64で動作し、移行コストが低い。
BAWS Compute Optimizerのメモリ推奨を参照し、割り当てメモリサイズを最適化して実行コストを削減する
✓ 正解
LambdaのコストはメモリGB×実行時間(秒)で決まる。Compute Optimizerが過剰・不足メモリを検出して最適サイズを推奨することで、無駄な課金を排除しつつ実行速度も最適化できる実践的な施策。
CLambda関数にProvisioned Concurrencyを設定し、コールドスタートを排除してコスト効率を向上させる
Provisioned Concurrencyはコールドスタート削減に有効だが、設定した同時実行数に対して常時課金が発生するためコストは増加する。レイテンシ改善目的の機能であり、コスト削減施策としては逆効果になる。
DLambda関数のタイムアウト値を15分(上限値)に延ばし、処理が時間切れで失敗しないよう十分な余裕を持たせる
タイムアウト値はコストに直接影響せず、実際の実行時間が課金対象となる。最大値の15分に設定するとバグや無限ループ発生時に課金が膨らむリスクが高まり、コスト管理の観点で望ましくない設定。
解説
選択肢Aのarm64(Graviton2)アーキテクチャはx86_64と比較してLambdaの料金が約20%安く、多くのケースで実行速度も向上するため価格対性能比が優れています。Pythonなどのインタープリタ型言語はarm64向けに再デプロイするだけで動作し、CPU命令セット依存がなければコード変更は不要です。
選択肢BのAWS Compute Optimizerはメモリ使用量と実行時間を分析し、過剰または不足したメモリ設定を検出します。Lambdaのコストはメモリ×実行時間(GB-秒)で計算されるため、メモリを過剰に割り当てるとコストが増加し、逆に少なすぎると実行時間が延びて高コストになる場合もあるため、最適なメモリサイズの特定が重要です。
選択肢CのProvisioned Concurrencyはコールドスタートを削減してレイテンシを改善しますが、設定した同時実行数に対して常時課金されるため、コスト削減ではなくコスト増になる場合があります。
選択肢Dのタイムアウト値を最大15分に設定しても、実際の実行時間が課金対象であるためコストに直接影響しません。バグや無限ループ発生時に課金が膨らむリスクを高めるだけです。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSAAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →