AWS Lambda の概念 - AWS Lambda

AWS Lambda の概念

AWS Lambda では、関数を実行してイベントを処理します。関数にイベントを送信するには、Lambda API を使用して関数を呼び出すか、関数を呼び出すように AWS のサービスまたはリソースを設定します。

関数

関数とは、AWS Lambda でコードを実行するために呼び出すことができるリソースです。関数には、イベントを処理するコードと、Lambda と関数コード間で要求と応答を渡すランタイムがあります。コードはユーザーが指定し、ランタイムは提供されたものを使用するか、独自のものを作成することができます。

詳細については、「AWS Lambda 関数の管理」を参照してください。

Qualifier

関数を呼び出したり表示したりするときに、バージョンまたはエイリアスを指定するための修飾子を含めることができます。バージョンは、数値修飾子を持つ関数のコードと設定の変更不可能なスナップショットです。たとえば、my-function:1 と指定します。エイリアスは、別のバージョンにマップしたり、2 つのバージョン間でトラフィックを分割したりするために更新できるバージョンへのポインタです。たとえば、my-function:BLUE と指定します。バージョンとエイリアスを一緒に使用して、クライアントが関数を呼び出すための安定したインターフェイスを提供することができます。

詳細については、「Lambda 関数のバージョン」を参照してください。

ランタイム

Lambda ランタイムでは、さまざまな言語の関数を同じベースの実行環境で実行できます。プログラミング言語に一致するランタイムを使用するように関数を設定します。ランタイムは、Lambda サービスと関数コードの中間に位置し、両者の間で呼び出しイベント、コンテキスト情報、およびレスポンスを中継します。Lambda が提供するランタイムを使用するか、独自にビルドすることができます。

詳細については、「AWS Lambda ランタイム」を参照してください。

イベント

イベントは、処理する関数のデータを含む JSON 形式のドキュメントです。Lambda ランタイムは、イベントをオブジェクトに変換し、それを関数コードに渡します。関数を呼び出すときは、イベントの構造とコンテンツを決定します。

例 カスタムイベント – 気象データ

{ "TemperatureK": 281, "WindKmh": -3, "HumidityPct": 0.55, "PressureHPa": 1020 }

AWS のサービスで関数を呼び出す場合、そのイベントのシェイプはサービスによって定義されます。

例 サービスイベント – Amazon SNS 通知

{ "Records": [ { "Sns": { "Timestamp": "2019-01-02T12:45:07.000Z", "Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "Message": "Hello from SNS!", ...

AWS のサービスのイベントの詳細については、「他のサービスで AWS Lambda を使用する」を参照してください。

Concurrency

同時実行数とは、ある時点で関数が処理しているリクエストの数を指します。関数が呼び出されると、Lambda はその関数のインスタンスをプロビジョニングしてイベントを処理します。関数コードの実行が完了すると、別のリクエストを処理できます。リクエストの処理中に関数が再度呼び出されると、別のインスタンスがプロビジョンされるため、関数の同時実行数が増加します。

同時実行数は、リージョンレベルのクォータの対象となります。また、個々の関数を設定して、同時実行数を制限したり、特定の同時実行数を達成できるようにしたりすることもできます。詳細については、「Lambda 関数の同時実行数の管理」を参照してください。

Trigger

トリガーは、Lambda 関数を呼び出すリソースまたは設定です。たとえば、関数を呼び出すように設定できる AWS のサービス、開発するアプリケーション、イベントソースマッピングなどがあります。イベントソースマッピングは、ストリームまたはキューからアイテムを読み取り、関数を呼び出す Lambda のリソースです。

詳細については、「AWS Lambda 関数の呼び出し」および「他のサービスで AWS Lambda を使用する」を参照してください。