Lambda 関数オプションの設定 - AWS Lambda

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

Lambda 関数オプションの設定

関数を作成したら、トリガー、ネットワークアクセス、ファイルシステムアクセスなどの、関数の追加機能を設定できます。また、メモリや並行処理など、関数に関連のあるリソースも調整できます。これらの設定は、.zip ファイルアーカイブとして定義された関数と、コンテナイメージとして定義された関数に適用されます。

また、コンソールを使用してテストイベントを作成および編集し、関数をテストすることもできます。

関数設定のベストプラクティスについては、「Function Configuration」を参照してください。

関数のバージョン

関数には未公開バージョンがあり、公開バージョンやエイリアスを持つことができます。デフォルトでは、コンソールには未公開バージョンの関数の設定情報が表示されます。関数のコードと設定を更新する場合に、未公開バージョンを変更します。

公開バージョンは、変更できない関数コードと設定のスナップショットです (プロビジョニングされた同時実行数など、関数のバージョンに関連するいくつかの設定項目を除く)。

関数の概要を使用する

[関数の概要] には、関数とその上流および下流リソースが視覚的に表示されます。これを使用して、トリガーおよび送信先設定にジャンプできます。これを使用して、.zip ファイルアーカイブとして定義された関数のレイヤー設定にジャンプできます。


        Lambda 関数の概要。トリガーまたは送信先は設定されていません。

関数の設定 (コンソール) 

次の関数の設定では、未公開バージョンの関数に対してのみ設定を変更できます。コンソールで、関数の [Configuration] (設定) タブには、次のセクションがあります。

  • 一般的な設定メモリの設定や、AWS Compute Optimizer へのオプトインを行います。関数のタイムアウトと実行ロールを設定することもできます。

  • アクセス許可 — 実行ロールおよびその他のアクセス許可を設定します。

  • 環境変数 - Lambda で実行環境に設定するキーと値のペア。コードを使用せずに関数の設定を拡張するには、環境変数を使用します。

  • タグ - Lambda が関数のリソースにアタッチするキーと値のペア。タグを使用して、Lambda コンソールでコストレポートとフィルタ処理を行うための Lambda 関数をグループにまとめます。

    タグは、関数全体 (すべてのバージョンとエイリアス) に適用されます。

  • Virtual Private Cloud (VPC) - インターネット経由で利用できないリソースにネットワークアクセスが必要な場合は、Virtual Private Cloud (VPC) に接続するように設定します。

  • モニタリングおよびオペレーションツール – CloudWatch ロググループとその他のモニタリングツールを設定します。

  • 同時実行数関数の同時実行数を予約して、関数の最大同時実行数を設定します。同時実行数をプロビジョニングして、レイテンシーの変動なしに関数を拡張できるようにします。予約済同時実行数は、関数全体 (すべてのバージョンとエイリアスを含む) に適用されます。

  • 関数 URL関数 URL を設定して、一意の HTTP エンドポイントを Lambda 関数に追加します。関数 URL は、未公開関数の $LATEST バージョンまたは任意の関数エイリアスに対し設定することができます。

関数、関数のバージョン、またはエイリアスに対して、次のオプションを設定できます。

  • トリガートリガーを設定します。

  • 送信先 — 非同期呼び出しの送信先を設定します。

  • 非同期呼び出しエラー処理の動作を設定して、Lambda が試行する再試行回数や、Lambda がイベントを破棄するまでに未処理のイベントがキューにとどまる時間を減らします。廃棄されたイベントを保持するようにデッドレターキューを設定します。

  • コード署名 - 関数でコード署名を使用するには、コード署名設定を含めるように関数を設定します。

  • ファイルシステム — 関数をファイルシステムに接続します。

  • ステートマシン - ステートマシンを使用して関数をオーケストレーションし、関数にエラー処理を適用します。

コンソールには、エイリアスとバージョンを設定するための個別のタブがあります。

  • エイリアス — エイリアスは、関数のバージョンにマッピングする名前付きリソースです。エイリアスを変更して、別の関数のバージョンにマッピングできます。

  • バージョン — Lambda は、関数を公開するたびに新しいバージョン番号を割り当てます。バージョン管理の詳細については、「Lambda 関数のバージョン」を参照してください。

公開済みの関数のバージョンには、次の項目を設定できます。

  • トリガー

  • 送信先

  • プロビジョニングされた同時実行数

  • 非同期呼び出し

  • データベース接続とプロキシ

関数メモリの設定 (コンソール)

Lambda は、設定されたメモリの量に比例して CPU パワーを割り当てます。メモリは、実行時に Lambda 関数で使用できるメモリの量です。[メモリ (MB)] 設定を使用して、関数に割り当てられたメモリと CPU パワーを増減できます。関数のメモリを設定する際は、128 MB~10,240 MB の値を 1 MB 単位で設定します。1,769 MB の場合、1 つの vCPU (1 秒あたりのクレジットの 1 vCPU 秒分) に相当します。

関数のメモリは Lambda コンソールで設定できます。

関数のメモリーの推奨事項を受け入れる (コンソール)

AWS Identity and Access Management (IAM) での管理者権限がある場合は、Lambda 関数のメモリ設定に関する推奨事項を、AWS Compute Optimizer から受け取るようにオプトインできます。アカウントまたは組織でメモリの推奨事項にオプトインする手順については、AWS Compute Optimizer ユーザーガイドの「アカウントにオプトインする」を参照してください。

注記

Compute Optimizer は x86_64 アーキテクチャを使用する関数のみをサポートします。

オプトインが完了しており、Lambda 関数が Compute Optimizer の要件を満たしている場合は、Compute Optimizer による関数のメモリに関する推奨事項を、Lambda コンソールの [一般設定] で表示したり、受け入れたりすることができます。

関数のタイムアウトの設定 (コンソール)

Lambda は、コードを一定時間実行してからタイムアウトします。タイムアウトとは、Lambda 関数がタイムアウトするまでの最大実行時間です。この設定のデフォルト値は 3 秒ですが、最大値の 15 分まで 1 秒単位で調整できます。

エフェメラルストレージの設定 (コンソール)

デフォルトでは、Lambda は関数の /tmp ディレクトリに 512 MB を割り当てます。[Ephemeral storage (MB)] (エフェメラルストレージ (MB)) 設定を使用して、この量を増減できます。関数の /tmp ディレクトリのサイズを設定するには、整数値を 512 MB から 10,240 MB の間で、1 MB 刻みで設定します。

注記

デフォルトの 512 MB を超えるエフェメラルストレージを設定すると、コストが発生します。詳細については、「Lambda pricing」を参照してください。

トリガーの設定 (コンソール)

他の AWS のサービスで、指定したイベントが発生するたびに関数をトリガーするように設定できます。サービスで Lambda 関数をトリガーする方法の詳細については、「他のサービスで AWS Lambda を使用する」を参照してください。

Lambda の高度なログ記録オプションの設定

関数のログのキャプチャ、処理、使用方法をより細かく制御できるように、Lambda には以下のログ記録設定オプションが用意されています。

  • ログの形式 - 関数のログをプレーンテキスト形式と構造化された JSON 形式から選択します

  • ログレベル - JSON 構造化ログの場合は、ERROR、DEBUG、INFO など CloudWatch、Lambda が に送信するログの詳細レベルを選択します。

  • ロググループ - 関数が CloudWatch ログを送信するロググループを選択します

Lambda コンソールにおけるこれらのオプションの設定の詳細については、「Lambda 関数の高度なログ記録コントロールの設定」を参照してください。

RDS データベースの接続 (コンソール)

Lambda 関数は、Amazon Relational Database Service (Amazon RDS) データベースに直接接続することも、Amazon RDS Proxy 経由で接続することもできます。単純なシナリオでは直接接続が有効で、本番環境ではプロキシの使用が推奨されます。データベースプロキシは、共有されたデータベース接続のプールを管理します。これを使用することで、データベース接続を消耗することなく、関数の同時実行レベルを上げることができます。

Lambda 関数と Amazon RDS を接続するには、「Amazon RDS で AWS Lambda 使用する」を参照してください。