コンピューティングの選び方 EC2・Lambda・Fargateを要件から使い分ける
SAA-C03で最も出題数が多いのが「この要件ならどのコンピューティングを選ぶか」という問題です。サービスの機能を覚えるだけでは足りず、実行時間・運用負荷・コストのどれが問われているかを読み取る力が必要になります。ここでは判断の順番を固定して、迷わない選び方を身につけます。
覚え方は「実行時間・運用の手離れ・課金単位」の3つの観点
まず処理が15分以内に終わるかを見ます。終わるならLambdaが候補に入り、超えるならEC2かFargateです。次にOSの管理やミドルウェアの細かい制御が必要かを見ます。不要ならFargate、必要ならEC2。最後に課金単位を見て、リクエストがまばらならLambda、常時稼働ならEC2のSavings PlansやReserved Instancesという順で詰めていきます。
AWS Lambda
イベント駆動で起動し、最大15分・最大10GBメモリまでのリクエスト単位課金です。使いどころは、S3への画像アップロードをトリガーにしたサムネイル生成、API Gatewayの背後の軽量API、日次のデータ整形バッチなど。1日数百回しか呼ばれないような処理では、EC2を24時間動かすより桁違いに安くなります。逆に、常時高負荷でCPUを使い切るような処理はEC2のほうが安くなる点も覚えておきましょう。
AWS Fargate
ECSまたはEKSのタスクをサーバーレスで動かす方式で、コンテナのvCPUとメモリに対して秒単位で課金されます。使いどころは、既存のコンテナ化されたアプリケーションを持ち込みたい、15分を超える常駐プロセスがある、しかしEC2のパッチ適用やAMI管理はしたくない、という要件です。「コンテナを使いたいが運用工数を最小化したい」という記述があればほぼFargateが正解になります。
Amazon EC2
OSレベルの制御、特殊なライセンス、GPUや高メモリのインスタンスタイプ、カーネルパラメータの調整が必要ならEC2です。使いどころとしては、既存のライセンス持ち込み(BYOL)や、SAP HANAのような認定インスタンスが必要なワークロード。加えて、中断を許容できるバッチ処理ならスポットインスタンスで最大90%の割引が使える点は頻出です。
| 要件 | EC2 | Fargate | Lambda |
|---|---|---|---|
| 最大実行時間 | 制限なし | 制限なし | 15分 |
| OSの管理 | 利用者 | 不要 | 不要 |
| 課金単位 | インスタンス秒 | vCPU・メモリ秒 | リクエストとGB秒 |
| 向く処理 | 常時稼働、特殊要件 | コンテナの常駐処理 | 断続的なイベント処理 |
チェックリスト
- 処理時間15分という境界でLambdaを候補から外す判断ができる
- スポット、オンデマンド、Savings Plansの使い分けをワークロード特性から説明できる
- FargateとEC2起動タイプの違いを「誰がホストを管理するか」で説明できる
- Lambdaのコールドスタート対策(プロビジョニング済み同時実行)を知っている
- コンテナイメージのLambda対応(最大10GB)とFargateの使い分けを整理できている
まとめ
コンピューティングの選定は「15分・OS管理・課金単位」の3つを順に当てはめるだけで、ほとんどの問題が解けます。サービス名で覚えるのではなく、要件文のキーワードから逆引きできる状態を目指しましょう。 理解度の確認にはクイズが便利です。試験範囲や申し込みの最新情報はAWS認定 公式ページもあわせて確認してください。
SAA(ソリューションアーキテクト アソシエイト) におすすめの教材
徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書 第3版[SAA-C03]対応
AWS認定ソリューションアーキテクト−アソシエイト問題集
これだけでOK! AWS認定SAA(SAA-C03)試験突破講座
AWS認定SAA 本番模試(6回分/390問)
本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。