AWS Lambda とは
AWS Lambda は、サーバーの管理を行うことなくコードを実行できるコンピューティングサービスです。コードが実行され、スケールアップとスケールダウンが自動的に実行され、従量課金制の価格設定が適用されます。開始するには、「最初の関数を作成する」を参照してください。
Lambda は、次の目的で使用できます。
-
ストリーム処理: 分析とモニタリングのためにリアルタイムのデータストリームを処理します。詳細については、「Kinesis Data Streams」を参照してください。
-
ウェブアプリケーション: 需要に合わせて自動的に調整するスケーラブルなウェブアプリケーションを構築します。
-
モバイルバックエンド: モバイルアプリケーションとウェブアプリケーション用の安全な API バックエンドを作成します。
-
IoT バックエンド: ウェブ、モバイル、IoT、およびサードパーティーの API リクエストを処理します。詳細については、「IoT」をご覧ください。
-
ファイル処理: Amazon Simple Storage Service にアップロードされると、ファイルを自動的に処理します。詳細については、「ファイル処理の例」を参照してください。
-
データベースオペレーションと統合の例: データベースの変更に対応し、データワークフローを自動化します。詳細については、「データベースの例」を参照してください。
-
スケジュールされたタスクと定期的なタスク: EventBridge を使用して自動オペレーションを定期的に実行します。詳細については、「スケジュールされたタスクの例」を参照してください。
料金に関する情報については、[AWS Lambda の料金
Lambda の仕組み
Lambda を使用する際、ユーザーが責任を負うのはコードのみです。Lambda は、高可用性コンピューティングインフラストラクチャ上でコードを実行し、サーバーとオペレーティングシステムのメンテナンス、容量のプロビジョニングと自動スケーリング、コードのモニタリング、ログ記録などのすべてのコンピューティングリソースを管理します。
Lambda はサーバーレスのイベント駆動型コンピューティングサービスであるため、従来のウェブアプリケーションとは異なるプログラミングパラダイムを使用します。次のモデルは、Lambda の基本的な仕組みを示しています。
-
Lambda 関数は、Lambda アプリケーションを作成するために使用する基本的な構成要素であり、コードの作成と整理に使用されます。
-
セキュリティとアクセスは、Lambda のアクセス許可を通じて制御し、実行ロールを使用して、関数が対話できる AWS サービスと、コードと対話できるリソースポリシーを管理します。
-
イベントソースとAWS サービスは Lambda 関数をトリガーし、関数が処理するイベントデータを JSON 形式で渡します (これにはイベントソースマッピングが含まれます)。
-
Lambda は、ランタイム、レイヤー、拡張機能をパッケージ化した実行環境で、言語固有のランタイム (Node.js や Python など) を使用してコードを実行します。
ヒント
サーバーレスソリューションを構築する方法については、「サーバーレスデベロッパーガイド」を参照してください。
主な特徴
安全なアプリケーションを設定、制御、デプロイします。
-
環境変数は、新しいコードをデプロイなしでアプリケーションの動作を変更します。
-
バージョンは、安定した本番環境を維持しながら、新機能を安全にテストします。
-
Lambda レイヤーは、複数の関数間で共通コンポーネントを共有することで、コードの再利用とメンテナンスを最適化します。
-
コード署名は、承認されたコードのみが本番稼働システムに到達するようにすることで、セキュリティコンプライアンスを強化します。
確実にスケールしてパフォーマンスを実現。
-
同時実行数とスケーリングの制御により、トラフィックの急増時にアプリケーションの応答性とリソース使用率を正確に管理します。
-
Lambda SnapStart はコールドスタート時間を大幅に短縮します。Lambda SnapStart は通常、関数コードを変更することなく、わずか 1 秒未満の起動パフォーマンスを提供できます。
-
レスポンスストリーミングは、リアルタイム処理のために大きなペイロードを段階的に配信することで、関数のパフォーマンスを最適化します。
-
コンテナイメージは、コンテナワークフローを使用して、複雑な依存関係を持つ関数をパッケージ化します。
シームレスに接続して統合します。
-
VPC ネットワークは、機密リソースと内部サービスを保護します。
-
永続データを共有し、関数呼び出し全体でステートフル操作を管理するファイルシステム。
-
関数 URLは、追加のサービスなしで、パブリック向けの API とエンドポイントを作成します。
-
Lambda 拡張機能は、モニタリング、セキュリティ、運用ツールで関数を強化します。
関連情報
Lambda の仕組みについては、「Lambda の仕組み」を参照してください。
Lambda の使用を開始するには、「最初の Lambda 関数を作成する」を参照してください。
アプリケーション例の一覧については、「サンプルアプリケーションとパターンの使用開始」を参照してください。