AWS Lambdaとは?利用のメリットとデメリット
AWS Lambda(ラムダ)とは、Amazon社が提供するサーバーレスコンピューティングプラットフォームです。
ユーザーがサーバーを用意せずにさまざまなアプリケーションやサービスを実行できる環境やその考えかたのことを「サーバーレスアーキテクチャ」や「FaaS(Function as a Service)」と呼びます。
サーバーレスアーキテクチャでは、従来ユーザーが自ら構築・運用する必要があった物理サーバーや仮想サーバーのようなサーバーを必要としません。サーバー上で動かすプログラムだけを準備することで、webアプリケーションとして稼働させることができます。
そして、サーバーレスアーキテクチャの1つであるAWS Lambdaでは、何らかのイベントが発生したときに初めてプラットフォーム上に置いたプログラムをサーバーと一緒に実行する運用が可能です。これにより、ユーザーからのリクエストを待つためにずっとサーバーを稼働しておく必要がなくなります。
サーバーとOSのみを提供するAmazon EC2とは異なり、AWS LambdaはサーバとOSの提供に加え、インフラの整備まで行った実行環境を提供するため、より手軽にwebアプリケーションを動かすことができます。
AWS Lambdaでは、アプリケーションの開発者が行うことは、プログラムの開発とそれを実行させるトリガーを設定することのみとなります。プログラムの機能以外のサーバーOSやWebサーバーの設定や運用について考える必要がなくなることがメリットと言えます。
AWS Lambdaが提供する多くの利点がありますが、その一方でデメリットとしては、Lambdaの他に複数サービスにまたがってアプリケーションを構築することになるため、一般的なアプリケーションよりもトランザクションの把握が困難になったり、実行動作がクラウド内部で行われるために、障害発生時の原因解析が難しくなったりします。
AWS Lambdaを利用したアプリケーションを構築・運用する場合は、アプリケーションの全体のパフォーマンスを可視化して管理できるソリューションを検討する必要があります。
AWS Lambdaを使用したアプリケーションを簡単に可視化して管理する方法
ManageEngineが提供するAPMツールである「Applications Manager」では、AWS Lambdaの監視機能をご用意しています。Applications Managerで、Lambdaアプリケーションの動作の限界値を設定することで、アプリのパフォーマンスに異常が発生した場合にすぐに特定できます。また、障害の発生と同時にプログラムを実行するなどの自動化にも対応しています。
無料で使えます[機能・監視数 無制限]
Lambda機能のパフォーマンスを解析
Applications Managerを使用すると、Lambda環境の統計情報を取得して集計します。統計データを過去の分析に利用し、アプリケーションの改善活動に役立てることができます。
呼び出しの監視
Applications Managerは、呼び出しの統計情報を収集し、呼び出し数、成功率、エラー率などの処理情報を可視化します。呼び出しを監視することで、アプリケーションのアクティビティと機能のパフォーマンスを把握できます。呼び出し回数の低下は、関数や関連するサービスに問題があることを示している可能性があるため、発見した場合は対処を検討します。
同時発生するイベントの監視
Applications Managerでは、プロビジョニングされた同時実行の統計、同時実行や呼び出しなど、同時実行の詳細を確認できます。関数に設定されている並行実行の制限や予約されている並行実行の制限を超えると、AWS Lambdaは追加の呼び出しリクエストを抑制するため、同時実行の状況を把握しておくことが重要です。同時実行を監視することで、オーバープロビジョニングされた関数を管理し、アプリケーションを最適化するために関数のスケーリングを検討できます。
エラーや障害の予兆を検知
非同期呼び出しでは、宛先配送の失敗やデッドレターキューが発生することがあります。これらのエラーは、不正なパーミッション、リソースの不適切な設定、またはサイズ制限が原因で発生します。このエラーに注意することで障害を未然に防ぐことができます。
Applications Managerでは、各イベントにかかる時間や、ストリームベースの呼び出しの反復時間を可視化します。IteratorAgeメトリクスの値が増加した場合などに、直ちに管理者にお知らせします。
durationメトリクスを監視することで、関数の実行にかかった平均時間、最小時間、最大時間などの視点からイベントの実行速度を把握できます。また、デュレーションを監視することで、特に何百もの関数にまたがる大量のリクエストを管理している場合にAWSのコスト管理をより適切に行うことができます。
Lambdaのすべての設定を一か所で把握できる
Applications ManagerのAWS Lambda監視ダッシュボードには、Lambdaの構成情報が1つのタブに表示され、簡単に参照できます。リソースの統計、セキュリティやネットワーク情報、機能の詳細、その他の構成の詳細などのデータに簡単にアクセスできます。
AWS Lambda監視の詳細情報
- AWS Lambda監視 ユーザーガイド
AWS Lambda監視の利用方法を解説しています。 - スタートアップガイド
製品の導入手順から設定方法までの詳細ガイドです。