AWS Lambda とは - AWS Lambda

AWS Lambda とは

AWS Lambda は、サーバーのプロビジョニングや管理の必要なしにコードを実行できるコンピューティングサービスです。Lambda では、コードは必要時にのみ実行されます。また、対応するリクエストの数は、1 日あたり数個から 1 秒あたり数千のレベルまで自動的にスケーリングされます。課金は実際に消費したコンピューティング時間に対してのみ発生します — コードが実行されていないときは料金は発生しません。Lambda を使用すると、管理を全く必要とせずに、ほぼすべてのアプリケーションやバックエンドサービスでコードを実行できます。コードは Lambda により、可用性の高いコンピューティングインフラストラクチャで実行されます。また、サーバーとオペレーティングシステムのメンテナンス、容量のプロビショニングと自動スケーリング、コードのモニタリングやログ記録など、コンピューティングリソースのすべての管理も処理されます。Lambda がサポートするいずれかの言語でコードを記述するだけで、この機能を利用できます。

Lambda によれば、Amazon Simple Storage Service (Amazon S3) バケットまたは Amazon DynamoDB テーブル内でのデータの変更などのイベントに応答してコードを実行できます。また、Amazon API Gateway を使用すると HTTP リクエストに応答してコードを実行できます。あるいは、AWS SDK により作成された API コールを使用してコードを呼び出せます。これらの機能により、Lambda を使って Amazon S3 や DynamoDB など AWS のサービスに対するデータ処理トリガーを生成したり、Amazon Kinesis に保存されたストリーミングデータを処理したりできます。あるいは、AWS のスケーリーング、パフォーマンス、およびセキュリティを操作するための、独自のバックエンドを作成できます。

また、イベントによってトリガーされる関数で構成されるサーバーレスアプリケーションを構築することもでき、それらのアプリケーションは、AWS CodePipeline と AWS CodeBuild を使用して自動的にデプロイすることが可能です。詳細については、「AWS Lambda アプリケーション」を参照してください。

Lambda ベースのアプリケーションの設計、操作、およびトラブルシューティングの詳細については、Lambda オペレーターガイドの「はじめに」を参照してください。

AWS Lambda が適している用途

AWS Lambda は、多くのアプリケーションシナリオにとって最適なコンピューティングサービスです。Lambda によって提供されるリソース内で Lambda の標準ランタイム環境を使用しながら、アプリケーションのコードを実行できます。

Lambda を使用するのであれば、お客様が気をかけるのは自身のコードのみです。Lambda によって、メモリのバランス、CPU、ネットワーク、その他のリソースを提供するコンピューティングフリートが管理されます。これは柔軟性とのトレードオフになります。つまり、コンピューティングインスタンスにログインしたり、提供されたランタイムでオペレーティングシステムをカスタマイズしたりすることはできません。これらの制約により、Lambda はユーザーに代わって操作や管理のアクティビティを実行できるようになります。実行される処理には、容量のプロビジョニング、フリートの状態のモニタリング、セキュリティパッチの適用、コードのデプロイ、Lambda 関数のモニタリングとログ記録などが含まれます。

AWS では、独自のコンピューティングリソースを管理する必要があるお客様に対しても、その目的に適した、他のコンピューティングサービスをご用意しています。例:

  • Amazon Elastic Compute Cloud (Amazon EC2) には、さまざまな EC2 インスタンスタイプから選択が可能な柔軟性が備わっています。このため、オペレーティングシステム、ネットワークやセキュリティの設定、ソフトウェアスタック全体をカスタマイズするオプションを手に入れることができます。容量のプロビジョニング、フリートの状態とパフォーマンスのモニタリング、および耐障害性のためのアベイラビリティゾーンの使用は、お客様が行う作業となります。

  • AWS Elastic Beanstalkでは、アプリケーションを Amazon EC2 にデプロイしスケーリングできます。基盤となる EC2 インスタンスに対する所有権と完全なコントロール権は、お客様が保持します。

Lambda は、可用性の高いサービスです。詳細については、「AWS Lambda サービスレベルアグリーメント」を参照してください。

AWS Lambda を初めてお使いになる方向けの情報

AWS Lambda を初めて使用するお客様は、次の各事項を順にお読みになることをお勧めします。

  1. 製品概要をお読みになり、AWS Lambda のウェブページで入門動画をご覧ください。

  2. コンソールベースの開始方法に関するの実習を実行してください。 この演習では、AWS マネジメントコンソール を使用して Lambda 関数を作成しテストする手順について学べます。また、プログラミングモデルや Lambda のその他の概念についても説明します。手順については、「Lambda の使用を開始する」を参照してください。

  3. コンテナイメージの使用開始に関する演習を実行してください。 この演習では、コンテナーイメージとして定義された Lambda 関数を作成し、テストする手順について学べます。手順については、「コンテナイメージとして定義された関数を作成する」を参照してください。

  4. Lambda を使用してのアプリケーションのデプロイについてお読みください。 このガイドの AWS Lambda アプリケーション セクションでは、エンドツーエンドのエクスペリエンスを作成するために使用する、Lambda のさまざまなコンポーネントを紹介しています。

初めて使用するための実習が完了した後は、さらに各種のユースケースを調べていただくことができます。各ユースケースでは、サンプルのシナリオを使用したチュートリアルが提供されています。アプリケーションのニーズ (たとえば、イベント駆動型 Lambda 関数の呼び出しまたはオンデマンドでの関数呼び出しのいずれか) に応じて、お客様が必要とされるチュートリアルを参照できます。さまざまなユースケースの詳細については、「他のサービスで AWS Lambda を使用する」を参照してください。