Lambda 関数オプションの設定
関数を作成したら、トリガー、ネットワークアクセス、ファイルシステムアクセスなどの、関数の追加機能を設定できます。また、メモリや並行処理など、関数に関連のあるリソースも調整できます。これらの設定は、.zip ファイルアーカイブとして定義された関数と、コンテナイメージとして定義された関数に適用されます。
また、コンソールを使用してテストイベントを作成および編集し、関数をテストすることもできます。
関数設定のベストプラクティスについては、「Function Configuration」を参照してください。
セクション
関数のバージョン
関数には未公開バージョンがあり、公開バージョンやエイリアスを持つことができます。デフォルトでは、コンソールには未公開バージョンの関数の設定情報が表示されます。関数のコードと設定を更新する場合に、未公開バージョンを変更します。
公開バージョンは、変更できない関数コードと設定のスナップショットです (プロビジョニングされた同時実行数など、関数のバージョンに関連するいくつかの設定項目を除く)。
関数の概要を使用する
[関数の概要] には、関数とその上流および下流リソースが視覚的に表示されます。これを使用して、トリガーおよび送信先設定にジャンプできます。これを使用して、.zip ファイルアーカイブとして定義された関数のレイヤー設定にジャンプできます。

関数の設定 (コンソール)
次の関数の設定では、未公開バージョンの関数に対してのみ設定を変更できます。コンソールで、関数の [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 関数のバージョン」を参照してください。
公開済みの関数のバージョンには、次の項目を設定できます。
トリガー
送信先
プロビジョニングされた同時実行数
非同期呼び出し
データベースプロキシ
関数の設定 (API)
Lambda API で関数を設定するには、次のアクションを使用します。
-
UpdateFunctionCode - 関数のコードを更新します。
-
UpdateFunctionConfiguration - バージョン固有の設定を更新します。
-
TagResource - 関数にタグ付けします。
-
AddPermission - 関数、バージョン、エイリアスのリソースベースのポリシーを変更します。
-
PutFunctionConcurrency - 予約済みの関数の同時実行数を設定します。
-
PublishVersion - 現在のコードと設定を使用して、変更不可のバージョンを作成します。
-
CreateAlias - 関数のバージョンのエイリアスを作成します。
-
PutFunctionEventInvokeConfig - 非同期呼び出しのエラー処理を設定します。
-
CreateFunctionUrlConfig – 関数 URL 設定を作成します。
-
UpdateFunctionUrlConfig – 既存の関数 URL 設定を更新します。
関数メモリの設定 (コンソール)
Lambda は、設定されたメモリの量に比例して CPU パワーを割り当てます。メモリは、実行時に Lambda 関数で使用できるメモリの量です。[メモリ (MB)] 設定を使用して、関数に割り当てられたメモリと CPU パワーを増減できます。関数のメモリを設定する際は、128 MB~10,240 MB の値を 1 MB 単位で設定します。1,769 MB の場合、1 つの vCPU (1 秒あたりのクレジットの 1 vCPU 秒分) に相当します。
関数のメモリは Lambda コンソールで設定できます。
関数のメモリ割り当てを変更するには
Lambda コンソールの 「関数ページ
」を開きます。 -
関数を選択します。
-
関数の設定ページの [General configuration] (全般設定) ペインで、[Edit] (編集) を選択します。
-
[メモリ (MB)] に、128 MB から 10,240 MB の値を設定します。
-
[Save (保存)] を選択します。
関数のタイムアウトの設定 (コンソール)
Lambda は、コードを一定時間実行してからタイムアウトします。タイムアウトとは、Lambda 関数がタイムアウトするまでの最大実行時間です。この設定のデフォルト値は 3 秒ですが、最大値の 15 分まで 1 秒単位で調整できます。
関数のタイムアウトは、Lambda コンソールで設定できます。
関数のタイムアウトを変更する
Lambda コンソールの [Functions]
(関数) ページを開きます。 -
関数を選択します。
-
関数の設定ページの [General configuration] (全般設定) ペインで、[Edit] (編集) を選択します。
-
[Timeout] (タイムアウト) に、1 秒から 15 分までの値を指定します。
-
[Save (保存)] を選択します。
エフェメラルストレージの設定 (コンソール)
デフォルトでは、Lambda は関数の /tmp ディレクトリに 512 MB を割り当てます。[Ephemeral storage (MB)] (エフェメラルストレージ (MB)) 設定を使用して、この量を増減できます。関数の /tmp ディレクトリのサイズを設定するには、整数値を 512 MB から 10,240 MB の間で、1 MB 刻みで設定します。
注記
デフォルトの 512 MB を超えるエフェメラルストレージを設定すると、コストが発生します。詳細については、「Lambda pricing
関数の /tmp ディレクトリのサイズは Lambda コンソールで設定できます。
関数の /tmp ディレクトリのサイズを更新するには
Lambda コンソールの 「関数ページ
」を開きます。 -
関数を選択します。
-
関数の設定ページの [General configuration] (全般設定) ペインで、[Edit] (編集) を選択します。
-
[Ephemeral storage (MB)] (エフェメラルストレージ (MB)) に、512~10,240 MB の範囲で値を設定します。
-
[Save (保存)] を選択します。
関数のメモリーの推奨事項を受け入れる (コンソール)
AWS Identity and Access Management (IAM) での管理者権限がある場合は、Lambda 関数のメモリ設定に関する推奨事項を、AWS Compute Optimizer から受け取るようにオプトインできます。アカウントまたは組織でメモリの推奨事項にオプトインする手順については、AWS Compute Optimizer ユーザーガイドの「アカウントにオプトインする」を参照してください。
注記
Compute Optimizer は x86_64 アーキテクチャを使用する関数のみをサポートします。
オプトインが完了しており、Lambda 関数が Compute Optimizer の要件を満たしている場合は、Compute Optimizer からの関数のメモリに関する推奨事項を Lambda コンソールで表示したり、受け入れたりすることができます。
関数のメモリーに関する推奨を受け入れるには、
Lambda コンソールの 「関数ページ
」を開きます。 -
関数を選択します。
-
関数の設定ページの [General configuration] (全般設定) ペインで、[Edit] (編集) を選択します。
-
[メモリ (MB)] の下にある [メモリの警告] で、[更新] をクリックします。
-
[Save] を選択します。
トリガーの設定 (コンソール)
他の AWS のサービスで、指定したイベントが発生するたびに関数をトリガーするように設定できます。
サービスで Lambda 関数をトリガーする方法の詳細については、「他のサービスで AWS Lambda を使用する」を参照してください。
関数にトリガーを追加するには
Lambda コンソールの [関数ページ]
を開きます。 -
対象の関数を選択します。
-
[機能の概要] で、[トリガーを追加] を選択します。
-
トリガーのドロップダウンリストから、トリガーを選択します。このトリガーに必要な追加の設定フィールドがコンソールに表示されます。
-
[Add] (追加) を選択します。
関数のテスト (コンソール)
[Test] (テスト) タブから、関数のテストイベントを作成できます。詳細については、コンソールで Lambda 関数のテストを参照してください。
保存する前に [テスト] を選択して、テストイベントを保存せずに関数を呼び出すことができます。これにより、Lambda がセッション期間中に維持する未保存のテストイベントが作成されます。未保存のテストイベントには、[テスト] または [コード] タブからアクセスできます。