

# Lambda 関数のエフェメラルストレージを設定する
<a name="configuration-ephemeral-storage"></a>

Lambda は、 `/tmp` ディレクトリ内の関数にエフェメラルストレージを提供します。このストレージは一時的なものであり、各実行環境に固有のものです。エフェメラルストレージ設定で、関数に割り当てられる**エフェメラルストレージ**の容量を変更できます。エフェメラルストレージの容量は、512 MB から 10,240 MB まで、1-MB 単位で設定できます。`/tmp` に保存されているすべてのデータは、AWS によって管理されるキーを使用して保管時に暗号化されます。

このページでは、一般的なユースケースと、Lambda 関数のエフェメラルストレージを更新する方法について説明します。

**Topics**
+ [エフェメラルストレージを増やす一般的なユースケース](#configuration-ephemeral-storage-use-cases)
+ [エフェメラルストレージの設定 (コンソール)](#configuration-ephemeral-storage-console)
+ [エフェメラルストレージの設定 (AWS CLI)](#configuration-ephemeral-storage-cli)
+ [エフェメラルストレージの設定 (AWS SAM)](#configuration-ephemeral-storage-sam)

## エフェメラルストレージを増やす一般的なユースケース
<a name="configuration-ephemeral-storage-use-cases"></a>

エフェメラルストレージを増やすことでメリットを得られる一般的なユースケースを以下に示します。
+ **抽出/変換ロード (ETL) ジョブ:** コードが中間計算を実行するか、他のリソースをダウンロードして処理を完了すると、エフェメラルストレージが増加します。一時スペースが多いほど、Lambda 関数でより複雑な ETL ジョブを実行できます。
+ **機械学習 (ML) 推論：** 多くの推論タスクは、ライブラリやモデルを含む大規模なリファレンスデータファイルに依存しています。エフェメラルストレージを使用すると、Amazon Simple Storage Service (Amazon S3) から `/tmp` により大きなモデルをダウンロードして、処理に使用できます。
+ **データ処理：** Amazon S3S3 からオブジェクトをダウンロードするワークロードの場合、`/tmp`領域を増やすと、インメモリ処理を考慮せずに大きなオブジェクトを処理できます。PDF を作成したり、メディアを処理したりするワークロードも、より一時的なストレージの恩恵を受けます。
+ **グラフィック処理:** 画像処理は Lambda ベースのアプリケーションの一般的なユースケースです。大きな TIFF ファイルまたは衛星画像を処理するワークロードの場合、エフェメラルストレージを使用すると、ライブラリの使用と Lambda での計算の実行が容易になります。

## エフェメラルストレージの設定 (コンソール)
<a name="configuration-ephemeral-storage-console"></a>

Lambda コンソールでエフェメラルストレージを設定できます。

**関数のエフェメラルストレージを変更するには**

1. Lambda コンソールの [[関数ページ]](https://console.aws.amazon.com/lambda/home#/functions) を開きます。

1. 関数を選択します。

1. **[設定]** を選択してから、**[一般設定]** を選択します。  
![\[\]](http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/images/configuration-tab.png)

1. **[全般設定]** で、**[編集]** を選択します。

1. **エフェメラルストレージ** の場合、512 MB から 10,240 MB までの値を 1-MB 単位で設定します。

1. **[保存]** を選択します。

## エフェメラルストレージの設定 (AWS CLI)
<a name="configuration-ephemeral-storage-cli"></a>

[update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html) コマンドを使用して、エフェメラルストレージを設定できます。

**Example**  

```
aws lambda update-function-configuration \
  --function-name my-function \
  --ephemeral-storage '{"Size": 1024}'
```

## エフェメラルストレージの設定 (AWS SAM)
<a name="configuration-ephemeral-storage-sam"></a>

[AWS Serverless Application Model](https://docs.aws.amazon.com//serverless-application-model/latest/developerguide/serverless-getting-started.html ) を使用して、関数のエフェメラルストレージを設定できます。`template.yaml` ファイル内の [EphemeralStorage](https://docs.aws.amazon.com//serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-ephemeralstorage) プロパティを更新し、[sam deploy](https://docs.aws.amazon.com//serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-deploy.html) を実行します。

**Example 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: nodejs22.x
      Architectures:
        - x86_64
      EphemeralStorage:
        Size: 10240
      # Other function properties...
```