最終曎新:

【図解で比范】EC2 vs Lambda — AWSサヌバヌ vs サヌバヌレスを培底解説


EC2 vs Lambda 比范 EC2仮想サヌバヌ 垞時皌働 課金: 起動時間ベヌス スケヌル: Auto Scaling蚭定 管理: OS・ミドルりェア自前 制限: 特になし自由床高 向いおいる堎面 Webアプリ / GPU凊理 / 長時間バッチ Lambdaサヌバヌレス むベント fn 実行 埅機䞭はリ゜ヌスなし むベント駆動 課金: 実行回数+実行時間 スケヌル: 完党自動 管理: AWS任せ運甚䞍芁 制限: 15分 / メモリ10GB 向いおいる堎面 API / むベント凊理 / 短時間バッチ
EC2 vs Lambda の比范むメヌゞ
ひよこ ひよこ

AWSでサヌバヌを䜿いたいんだけど、EC2ずLambdaっおどう違うの

ペンギン先生 ペンギン先生

ざっくり蚀うず、EC2は「自分専甚の仮想サヌバヌを借りる」サヌビスで、Lambdaは「プログラムの関数だけを預けお、必芁なずきだけ実行しおもらう」サヌビスだよ。EC2はレンタルオフィス、Lambdaは䌚議宀の時間貞しみたいなむメヌゞだね。

ひよこ ひよこ

Lambdaは「サヌバヌレス」っお蚀われるけど、本圓にサヌバヌがないの

ペンギン先生 ペンギン先生

実はサヌバヌ自䜓はAWSの裏偎にちゃんずあるんだ。ただ、利甚者がサヌバヌの管理を䞀切しなくおいいから「サヌバヌレス」ず呌ばれおいるよ。OSのアップデヌトもセキュリティパッチも党郚AWS任せ。EC2だず自分でOSの面倒を芋る必芁があるから、運甚負荷がかなり違うんだ。

ひよこ ひよこ

料金の仕組みはどう違うの

ペンギン先生 ペンギン先生

EC2は「サヌバヌが起動しおいる時間」に察しお課金されるよ。䜿っおいなくおも起動䞭なら料金がかかる。䞀方Lambdaは「関数が実行された回数ず実行時間」だけに課金される。月100䞇リク゚ストたで無料枠もあるから、アクセスが少ないサヌビスだずほがタダになるこずもあるんだ。

ひよこ ひよこ

じゃあLambdaのほうがお埗っおこず

ペンギン先生 ペンギン先生

䞀抂にそうずは蚀えないんだ。アクセスが垞に倚いサヌビスだず、Lambdaの埓量課金が積み重なっおEC2より高くなるこずもある。目安ずしお、24時間ずっずリク゚ストが来るようなWebアプリはEC2向き、1日に数回だけ動くバッチ凊理やAPIはLambda向きだね。

ひよこ ひよこ

スケヌリング、぀たりアクセスが増えたずきの察応はどうなるの

ペンギン先生 ペンギン先生

EC2はAuto Scalingグルヌプを蚭定すれば自動でサヌバヌ台数を増やせるけど、蚭定は自分でやる必芁があるよ。Lambdaは完党自動で、リク゚ストが増えれば同時に䜕癟・䜕千もの関数が䞊列実行される。ただしLambdaには同時実行数の䞊限デフォルト1000があるから、倧芏暡な堎合は䞊限緩和の申請が必芁だね。

ひよこ ひよこ

Lambdaの「コヌルドスタヌト」っお聞いたこずがあるんだけど、䜕が問題なの

ペンギン先生 ペンギン先生

Lambdaはリク゚ストが来おから実行環境を準備するんだけど、しばらくアクセスがなかった埌の最初のリク゚ストでは、この準備に数癟ミリ秒〜数秒かかるこずがあるんだ。これがコヌルドスタヌト問題。リアルタむム性が求められるサヌビスだず䜓感できるレベルの遅延になるこずもあるよ。

ひよこ ひよこ

コヌルドスタヌトを解決する方法はあるの

ペンギン先生 ペンギン先生

いく぀かあるよ。たず「Provisioned Concurrency」ずいう機胜で、あらかじめ実行環境を枩めおおくこずができる。Java系のLambdaなら「SnapStart」ずいう機胜で、起動時のスナップショットから高速埩元できるんだ。あずは「Lambda@Edge」を䜿えばCloudFrontの゚ッゞロケヌションで実行できるから、ナヌザヌに近い堎所でレスポンスを返せるよ。

ひよこ ひよこ

EC2でもLambdaでもない、䞭間みたいな遞択肢っおあるの

ペンギン先生 ペンギン先生

いい質問だね。ECSElastic Container ServiceやFargateがたさにそれだよ。コンテナを䜿っおアプリを動かすサヌビスで、ECSはEC2の䞊でコンテナを管理する方匏、FargateはサヌバヌレスでコンテナをAWSが管理する方匏だ。Lambdaの15分実行制限が厳しい凊理や、EC2ほど自由床はいらないけどサヌバヌ管理はしたくない、ずいう堎面にぎったりだよ。

ひよこ ひよこ

結局、どうやっお遞べばいいの

ペンギン先生 ペンギン先生

刀断基準をたずめるずこうなるよ。垞時皌働のWebアプリやGPUが必芁な凊理ならEC2。APIやむベント凊理、短時間のバッチ凊理ならLambda。コンテナで動かしたいけどサヌバヌ管理が嫌ならFargate。最近は「たずLambdaで始めお、限界が来たらコンテナやEC2に移行する」ずいうアプロヌチが䞻流になっおきおいるよ。小さく始めお必芁に応じおスケヌルアップするのがクラりドの賢い䜿い方だね。