AWS Lambda マネージドインスタンスを活用する
AWS Lambdaに、新しい実行方式として「Lambda Managed Instances(マネージドインスタンス)」が加わりました。サーバーレスの手軽さはそのままに、裏側ではEC2インスタンスを実行基盤として利用でき、インスタンスタイプの選択やSaving Plansの適用といったEC2ならではのメリットも取り込める仕組みです。
一方で、従来のLambda Defaultとどう使い分けるのか、運用負荷はどの程度か、どんな処理に向くのかは、導入検討時に整理しておきたいポイントでしょう。
本記事では、Lambda マネージドインスタンスの特徴と使いどころを、Lambda Defaultとの比較を交えながら、情シス・IT企画担当の視点でわかりやすく解説します。
目次
AWS Lambda マネージドインスタンスとは
AWS Lambdaは、サーバーを自分で用意したり運用したりしなくても、プログラムを実行できるサービスです。いわゆる「サーバーレス」の代表的なサービスで、小さく始めやすく、インフラ管理の負担を減らせる点が大きな魅力です。
そのLambdaに、新しい実行方式として加わったのがLambda マネージドインスタンスです。これは、Lambdaの使いやすさを保ちながら、裏側ではAmazon EC2インスタンス上で関数を動かせる仕組みです。EC2のライフサイクル管理、OSやランタイムのパッチ適用、ルーティング、ロードバランシング、スケーリングなどはAWSが担います。つまり、利用者は「EC2を選べる」のに、「EC2を自分で運用しなくてよい」というのが大きな特徴です。
従来のLambdaは手軽さが強みでしたが、実行基盤を細かく選ぶことはできませんでした。一方、Lambda マネージドインスタンスは、Lambdaの開発体験を維持しつつ、EC2の柔軟性や料金メリットも取り込める新しい選択肢です。「サーバーレスの手軽さ」と「EC2の選択肢」を両立しやすくした仕組み、と捉えるとわかりやすいでしょう。
Lambda Default と Lambda マネージドインスタンスの使い分け
Lambdaには、従来からある実行方式と、新しく加わったLambda マネージドインスタンスがあります。どちらもLambdaではありますが、得意とする処理の傾向は異なります。ここでは、それぞれの特徴と使い分けの考え方を整理します。
Lambda Defaultとは?
Lambdaには、従来からある標準的な実行方式と、Lambda マネージドインスタンスという新しい実行方式があります。AWSの資料では、従来型をLambda Defaultとして区別しています。どちらもLambdaですが、向いている用途は少し異なります。
最新のサービスを選択し適切なインフラ設計をお約束するスタイルズのAWS導入・移行サービスはこちら→
Lambda マネージドインスタンスとは?
Lambda マネージドインスタンスは、Lambdaの書き方のまま、現行世代のEC2インスタンスを実行基盤として使える仕組みです。AWSのドキュメントでは、Graviton4やネットワーク最適化インスタンスなども利用対象として挙げられています。また、関数は利用者のVPC内で動作し、基盤側の運用はLambdaが管理します。
この仕組みが向いているのは、安定的にある程度の負荷が流れる処理や、処理特性に合わせてインスタンスタイプを選びたい処理です。AWSのベストプラクティスでも、Lambda マネージドインスタンスはsteady-state、つまり継続的で安定した高ボリューム処理に向く一方、短時間の突発的なバースト処理ではLambda Defaultのほうが有利な場合があると案内されています。
それぞれの機能比較
Lambda Defaultは、始めやすさと伸縮性の高さが魅力です。アクセスの波が大きい処理でも対応しやすく、サーバー設計を深く考えなくても導入しやすい点が強みです。
一方、Lambda マネージドインスタンスは、EC2インスタンスタイプを選べることと、EC2系の料金メリットを活かしやすいことが強みです。その代わり、ワークロードの特性に合ったインスタンス選定や、どちらの実行方式が向くかという設計判断が必要になります。
使い分けとしては、まずLambda Defaultを基本に考え、性能やコストの予測性が重要になったらLambda マネージドインスタンスを検討する流れがわかりやすいでしょう。
EC2 インスタンスタイプを選択可能、Saving Plansも
Lambda マネージドインスタンスの特徴やコスト面のメリットを、もう少し掘り下げて見ていきましょう。EC2のインスタンスタイプを自由に選べることと、EC2向けの割引プランを活用できることは、情シス視点でも経営視点でも押さえておきたいポイントです。
Lambda マネージドインスタンスの大きな特徴の1つが、EC2インスタンスタイプを選択できることです。用途に応じて、よりメモリを重視したい、ネットワーク性能を重視したい、といった選択がしやすくなります。AWSは、現行世代のEC2や特殊なコンピュートオプションを活用できると説明しています。
さらに、EC2 Savings PlansやReserved Instancesのメリットを使える点も重要です。AWSの公式発表では、Lambda マネージドインスタンスはEC2のコミットメント型料金の恩恵を受けられ、安定稼働するワークロードでコストを抑えやすいと案内されています。
社内システムや継続的なAPI処理など、ある程度負荷が読める処理では、魅力的な選択肢になりそうです。
AWS Lambda マネージドインスタンスのうれしい点
Lambda マネージドインスタンスには、従来のLambdaでは扱いにくかった処理にも対応しやすくなるという利点があります。ここでは、特に業務システムでの活用を検討する際に押さえておきたい2つのポイント、「長時間処理への対応」と「コールドスタートの軽減」を取り上げます。
「AWS Lambda Durable Functions」で、長時間に渡る処理が可能
Lambdaでよくある制約の1つが、長時間の処理をそのまま扱いにくいことです。これに対してAWSはLambda Durable Functionsを提供しており、耐障害性のある複数ステップの処理やAIワークフローを、最大1年にわたって継続実行できると説明しています。
処理の進捗はチェックポイントで管理され、障害時は完了済みの作業を飛ばして自動回復できます。特に便利なのは、待機中に計算料金を発生させずに中断できる点です。承認待ち、外部システムの応答待ち、人の判断待ちといった業務フローでも扱いやすく、社内申請や複数ステップの自動化処理にも向いています。
なおAWSは、Durable FunctionsとStep Functionsはどちらも信頼性の高いワークフローを実現できるが、Durable FunctionsはLambdaの中で開発を進めたいケースに向くと整理しています。
コールドスタートがほぼ解消
Lambdaのコールドスタートとは、関数が呼び出された際、実行環境が未準備なために発生する起動遅延のことです。具体的には、長期間リクエストがない場合や急激な負荷増大時に、AWSが背後で新しい実行環境(コンテナ)の作成やコードの読み込みをゼロから行うため、処理開始までに数秒程度の時間がかかります。Lambda Defaultでは、この影響を受ける場面があります。
一方、Lambda マネージドインスタンスは実行環境の考え方が異なり、同時実行やコンテナライフサイクルの管理方法もDefaultとは違います。インスタンスベースの実行モデルで継続的に処理しやすいため、社内業務システムのAPIや一定の応答速度が欲しい処理では、コールドスタートの影響を抑えやすい選択肢として考えられます。
運用の難易度は?
EC2インスタンスタイプを選べると聞くと、運用負荷が高そうに感じる方もいるかもしれません。ここでは、Lambda マネージドインスタンスを使う際に情シスがどこまで運用に関わる必要があるのか、逆にどこまでAWSが肩代わりしてくれるのかを整理します。
「EC2インスタンスタイプを選べる」と聞くと、EC2運用の知識がかなり必要だと思うかもしれません。ですが、Lambda マネージドインスタンスでは、EC2のライフサイクル管理、OSやランタイムのパッチ適用、ルーティング、ロードバランシング、スケーリングポリシーはAWSが管理します。つまり、利用者がEC2の起動停止やOS保守を細かく担当する必要はありません。そのため、情シスとしては「EC2らしい柔軟性はほしいが、EC2をフル運用する体制は持ちたくない」という場合に検討しやすいサービスです。
ただし、何も考えなくてよいわけではありません。どのインスタンスタイプが向くか、継続負荷がどの程度あるか、そもそもLambda Defaultのほうが向いていないかといった判断は必要です。運用の手間はAWSが減らしてくれますが、アーキテクチャ選定まで自動で決めてくれるわけではない、という点は押さえておきたいところです。

最新のサービスを選択し適切なインフラ設計をお約束するスタイルズのAWS導入・移行サービスはこちら→
まとめ
AWS Lambda マネージドインスタンスは、Lambdaの手軽さを保ちながら、EC2の柔軟性や料金メリットも取り込める新しい実行方式です。アクセス変動が大きく、まずは素早く始めたい処理にはLambda Defaultが向いています。一方、安定的に負荷がかかる処理や、インスタンスタイプ選定やコスト最適化が重要な処理では、Lambda マネージドインスタンスが有力な候補になります。
また、EC2を利用するといっても、その運用そのものはAWSが担います。AWSに詳しくない情シスにとっては、「EC2は重そうだが、Lambdaだけでは物足りない」という悩みに対する、ちょうど中間の選択肢といえるでしょう。
Lambda DefaultとLambda マネージドインスタンスを二者択一で考えるのではなく、処理の特性に応じて使い分けるという視点を持つことが、これからの設計ではより重要になりそうです。