追加の Lambda 機能 - AWS Lambda

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

追加の Lambda 機能

Lambda では、関数の管理と呼び出しを行うためのマネジメントコンソールと APIを提供しています。また、必要に応じて言語間やフレームワーク間の切り替えを簡単にできるように、標準の機能セットをサポートするランタイムが提供されています。関数に加えて、バージョンやエイリアス、レイヤー、カスタムランタイムを作成することもできます。

スケーリング

Lambda は、コードを実行するインフラストラクチャを管理し、受信リクエストに応じて自動的にスケーリングします。関数の呼び出しが速くて関数の単一のインスタンスではイベントを処理できない場合、Lambda は追加のインスタンスを実行することでスケールアップします。トラフィックが低下すると、非アクティブなインスタンスはフリーズまたは停止されます。料金は、関数の初期化中、ならびに関数がイベントを処理している時間に対してのみ発生します。

詳細については、「Lambda 関数のスケーリング」を参照してください。

同時実行制御

同時実行数の設定を使用して、本番稼働用アプリケーションの可用性と応答性を高めます。

関数が過度の同時実行数を使用するのを防ぎ、アカウントの使用可能な同時実行数の一部を関数に予約するには、予約された同時実行数を使用します。同時実行数のリザーブは、使用可能な同時実行のプールをサブセットに分割します。同時実行数のリザーブがある関数は、専用サブセットからの同時実行のみを使用します。

レイテンシーの変動なしに関数をスケーリングできるようにするには、プロビジョニングされた同時実行数を使用します。初期化に時間がかかる関数や、すべての呼び出しできわめて低いレイテンシーを必要とする関数の場合、プロビジョニングされた同時実行数により、関数のインスタンスを事前に初期化し、常に実行状態にしておくことができます。Lambda はApplication Auto Scaling と統合されており、使用率に基づいてプロビジョニングされた同時実行数のオートスケーリングをサポートします。

詳細については、「予約済同時実行数の設定」を参照してください。

関数 URL

Lambda は、組み込まれた HTTP エンドポイントサポートを、関数 URL経由で提供します。関数 URL を使用すると、専用の HTTP エンドポイントを Lambda 関数に割り当てることができます。設定された関数 URL を使用することで、ウェブブラウザ、curl、Postman、または任意の HTTP クライアントから、関数を呼び出すことができます。

関数 URL は、既存の関数に追加することができます。あるいは、関数 URL を指定しながら新しい関数を作成します。詳細については、「Lambda 関数 URL の呼び出し」を参照してください。

非同期呼び出し

関数を呼び出す際は、同期的に呼び出すか非同期的に呼び出すかを選択できます。同期呼び出しでは、イベントを処理する関数を待ってレスポンスを返します。非同期呼び出しでは、Lambda はイベントをキューに入れて処理し、すぐにレスポンスを返します。


        Lambda は、非同期呼び出しイベントを関数に送信する前にキューに入れます。

非同期呼び出しの場合、関数がエラーを返すか、スロットリングされると Lambda は再試行の処理を行います。この動作をカスタマイズするため、関数、バージョン、またはエイリアスのエラー処理設定を定義できます。また、処理に失敗したイベントをデッドレターキューに送信したり、任意の呼び出しのレコードを送信先に送信したりするように Lambda を設定することもできます。

詳細については、「非同期呼び出し」を参照してください。

イベントソースマッピング

イベントソースマッピングを作成することで、ストリームまたはキューからの項目を処理できます。イベントソースマッピングは、Amazon Simple Queue Service (Amazon SQS) キュー、Amazon Kinesis ストリーム、または Amazon DynamoDB ストリームから項目を読み取り、バッチとして関数に送信するための Lambda のリソースです。関数が処理する各イベントには、数百または数千の項目を含めることができます。


        Kinesis ストリームからレコードを読み取るイベントソースマッピング。

イベントソースマッピングでは、未処理項目がローカルでキューに保存されており、関数がエラーを返すかスロットリングされた場合には処理が再試行されます。イベントソースマッピングを設定することで、バッチ処理の動作とエラー処理をカスタマイズできます。あるいは、処理に失敗した項目のレコードを送信先に伝達させることも可能です。

詳細については、「Lambda のイベントソースマッピング」を参照してください。

送信先

送信先は、関数の呼び出しレコードを受け取る AWS リソースです。非同期呼び出しの場合、呼び出しレコードをキュー、トピック、関数、またはイベントバスに送信するように Lambda を設定できます。成功した呼び出しと処理に失敗したイベントに別々の送信先を設定できます。呼び出しレコードには、イベント、関数のレスポンス、レコードが送信された理由に関する詳細が含まれます。


        Lambda は、結果に応じて、呼び出しレコードをキューまたはイベントバスの送信先に送信します。

ストリームから読み取るイベントソースマッピングの場合、処理に失敗したバッチのレコードをキューまたはトピックに送信するように Lambda を設定できます。イベントソースマッピングの失敗レコードには、バッチに関するメタデータが含まれており、ストリームの項目を指しています。

詳細については、「非同期呼び出しの送信先の設定」、および「Amazon DynamoDB で AWS Lambda を使用する」と「Amazon Kinesis で AWS Lambda を使用する」でエラー処理のセクションを参照してください。

関数ブループリント

Lambda コンソールで関数を作成するときは、一から作成、設計図の使用、またはコンテナイメージの使用を選択できます。ブループリントからは、AWS のサービスや一般的なサードパーティーのアプリケーションでの Lambda の使用方法を示すサンプルコードが提供されます。ブループリントには、Node.js および Python ランタイム用のサンプルコードおよび関数設定プリセットが含まれています。

ブループリントは、Amazon Software License の下で使用するために提供されています。これらは、Lambda コンソールでのみ使用できます。

テストおよびデプロイのツール

Lambda では、コードをそのまま、またはコンテナイメージとしてデプロイできます。Lambda 関数の作成、構築、およびデプロイには、AWS のサービスと、Docker コマンドラインインターフェイス (CLI) などの一般的なコミュニティツールを使用できます。Docker CLI の設定については、Docker ドキュメントウェブサイトの「Docker の入手」を参照してください。AWS での Docker の使用方法の概要については、Amazon Elastic Container Reg ユーザーガイドユーザーガイドの「AWS CLI を使用した Amazon ECR の開始方法」を参照してください。

AWS CLI および AWS SAM CLI は、Lambda アプリケーションスタックを管理するためのコマンドラインツールです。AWS CloudFormation API でアプリケーションスタックを管理するコマンドに加え、AWS CLI はデプロイパッケージのアップロードやテンプレートの更新などのタスクを簡素化する高レベルのコマンドをサポートしています。AWS SAM CLI は、テンプレートの検証、ローカルテスト、CI/CD システムとの統合を含む追加の機能性を提供します。

アプリケーションテンプレート

Lambda コンソールでは、継続的デリバリーパイプラインを使用してアプリケーションを作成できます。Lambda コンソールのアプリケーションテンプレートには、1 つ以上の関数のコード、関数とそれをサポートする AWS リソースを定義するためのアプリケーションテンプレート、AWS CodePipeline パイプラインを定義するためのインフラストラクチャテンプレートが含まれています。パイプラインには、含まれている Git リポジトリに変更をプッシュするたびに実行されるビルドとデプロイのステージがあります。

アプリケーションテンプレートは、MIT No Attribution ライセンスの下で使用するために提供されています。これらは、Lambda コンソールでのみ使用できます。

詳細については、「Lambda コンソールでの継続的デリバリーによるアプリケーションの作成」を参照してください。