AWS Lambda とは - AWS Lambda

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 の基本的な仕組みを示しています。

  1. Lambda 関数は、Lambda アプリケーションを作成するために使用する基本的な構成要素であり、コードの作成と整理に使用されます。

  2. セキュリティとアクセスは、Lambda のアクセス許可を通じて制御し、実行ロールを使用して、関数が対話できる AWS サービスと、コードと対話できるリソースポリシーを管理します。

  3. イベントソースとAWS サービスは Lambda 関数をトリガーし、関数が処理するイベントデータを JSON 形式で渡します (これにはイベントソースマッピングが含まれます)。

  4. Lambda は、ランタイム、レイヤー、拡張機能をパッケージ化した実行環境で、言語固有のランタイム (Node.js や Python など) を使用してコードを実行します

ヒント

サーバーレスソリューションを構築する方法については、「サーバーレスデベロッパーガイド」を参照してください。

主な特徴

安全なアプリケーションを設定、制御、デプロイします。

  • 環境変数は、新しいコードをデプロイなしでアプリケーションの動作を変更します。

  • バージョンは、安定した本番環境を維持しながら、新機能を安全にテストします。

  • Lambda レイヤーは、複数の関数間で共通コンポーネントを共有することで、コードの再利用とメンテナンスを最適化します。

  • コード署名は、承認されたコードのみが本番稼働システムに到達するようにすることで、セキュリティコンプライアンスを強化します。

確実にスケールしてパフォーマンスを実現。

  • 同時実行数とスケーリングの制御により、トラフィックの急増時にアプリケーションの応答性とリソース使用率を正確に管理します。

  • Lambda SnapStart はコールドスタート時間を大幅に短縮します。Lambda SnapStart は通常、関数コードを変更することなく、わずか 1 秒未満の起動パフォーマンスを提供できます。

  • レスポンスストリーミングは、リアルタイム処理のために大きなペイロードを段階的に配信することで、関数のパフォーマンスを最適化します。

  • コンテナイメージは、コンテナワークフローを使用して、複雑な依存関係を持つ関数をパッケージ化します。

シームレスに接続して統合します。

  • VPC ネットワークは、機密リソースと内部サービスを保護します。

  • 永続データを共有し、関数呼び出し全体でステートフル操作を管理するファイルシステム

  • 関数 URLは、追加のサービスなしで、パブリック向けの API とエンドポイントを作成します。

  • Lambda 拡張機能は、モニタリング、セキュリティ、運用ツールで関数を強化します。

関連情報