Lambda 関数のエフェメラルストレージを設定する
Lambda は、 /tmp
ディレクトリ内の関数にエフェメラルストレージを提供します。このストレージは一時的なものであり、各実行環境に固有のものです。エフェメラルストレージ設定で、関数に割り当てられるエフェメラルストレージの容量を変更できます。エフェメラルストレージの容量は、512 MB から 10,240 MB まで、1-MB 単位で設定できます。/tmp
に保存されているすべてのデータは、AWS によって管理されるキーを使用して保管時に暗号化されます。
このページでは、一般的なユースケースと、Lambda 関数のエフェメラルストレージを更新する方法について説明します。
セクション
エフェメラルストレージを増やす一般的なユースケース
エフェメラルストレージを増やすことでメリットを得られる一般的なユースケースを以下に示します。
-
抽出/変換ロード (ETL) ジョブ: コードが中間計算を実行するか、他のリソースをダウンロードして処理を完了すると、エフェメラルストレージが増加します。一時スペースが多いほど、Lambda 関数でより複雑な ETL ジョブを実行できます。
-
機械学習 (ML) 推論: 多くの推論タスクは、ライブラリやモデルを含む大規模なリファレンスデータファイルに依存しています。エフェメラルストレージを使用すると、Amazon Simple Storage Service (Amazon S3) から
/tmp
により大きなモデルをダウンロードして、処理に使用できます。 -
データ処理: Amazon S3S3 からオブジェクトをダウンロードするワークロードの場合、
/tmp
領域を増やすと、インメモリ処理を考慮せずに大きなオブジェクトを処理できます。PDF を作成したり、メディアを処理したりするワークロードも、より一時的なストレージの恩恵を受けます。 -
グラフィック処理: 画像処理は Lambda ベースのアプリケーションの一般的なユースケースです。大きな TIFF ファイルまたは衛星画像を処理するワークロードの場合、エフェメラルストレージを使用すると、ライブラリの使用と Lambda での計算の実行が容易になります。
エフェメラルストレージの設定 (コンソール)
Lambda コンソールでエフェメラルストレージを設定できます。
関数のエフェメラルストレージを変更するには
Lambda コンソールの [関数ページ]
を開きます。 -
関数を選択します。
-
[設定] を選択してから、[一般設定] を選択します。
-
[全般設定] で、[編集] を選択します。
-
エフェメラルストレージ の場合、512 MB から 10,240 MB までの値を 1-MB 単位で設定します。
-
[Save] を選択します。
エフェメラルストレージの設定 (AWS CLI)
update-function-configuration
aws lambda update-function-configuration \ --function-name
my-function
\ --ephemeral-storage'{"Size": 1024}'
エフェメラルストレージの設定 (AWS SAM)
AWS Serverless Application Model を使用して、関数のエフェメラルストレージを設定できます。template.yaml
ファイル内の EphemeralStorage プロパティを更新し、sam deploy を実行します。
例 template.yaml
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: An AWS Serverless Application Model template describing your function. Resources:
my-function
: Type: AWS::Serverless::Function Properties: CodeUri: . Description: '' MemorySize: 128 Timeout: 120 Handler: index.handler Runtime: nodejs20.x Architectures: - x86_64 EphemeralStorage: Size:10240
# Other function properties...