目次
はじめに
AWS Lambdaのアップデートにより、エフェメラル(一時的)ストレージが10GBまで利用可能になりました。
公式ページはこちら↓になります。
AWS Lambda で Lambda 関数用に最大 10 GB のエフェメラルストレージの設定が可能に
これまでは512MBまで利用可能でしたが、今回のアップデートにより、大量のキャッシュデータや中間ファイルを処理できるようになります。
大量データの処理にS3やEFSを中継することなく、必要以上にLambdaのメモリを増やすことがなくなるため、コストの削減につながりそうです。
ここではエフェメラルストレージの設定と確認、および、料金やモニタリングについて紹介します。
実際にやってみた
エフェメラルストレージはAWS Lambda コンソール、AWS CLI、CloudFormationなどから設定が可能です。
それぞれの方法で実際にストレージを10GBに変更して確認を行います。
手順
- Lambda関数の作成
- エフェメラルストレージの設定
- ストレージ変更の確認
AWS Lambda コンソール
Lambda関数の作成
適当なLambda関数を作成します。

エフェメラルストレージの設定
[設定]タブの[一般設定] - [編集]を押下します。
エフェメラルストレージを10GB(10240MB)に変更して、[保存]を押下します。

ストレージ変更の確認
下記のソースコードをLambdaにDeployして空JSONイベントで実行してみます。
import subprocess
from subprocess import PIPE
def lambda_handler(event, context):
result = subprocess.run(‘df -h‘, shell=True, stdout=PIPE, stderr=PIPE, text=True)
print(result.stdout)
実行結果は下記の通りです。
表記上、11GBとなっていますが、「/tmp」にマウントされているエフェメラルストレージの拡張に成功しています。

AWS CLI
下記コマンドにてエフェメラルストレージの変更ができます。
例) 10GBにエフェメラルストレージを変更する場合
aws lambda update-function-configuration\
--function-name functionName\
--ephemeral-storage ‘{“Size“: 10240}‘
Lambda関数の作成
適当なLambda関数を作成します。

エフェメラルストレージはデフォルト値(512MB)です。

エフェメラルストレージの設定
コマンドを実行します。

ストレージ変更の確認
コンソール上で確認すると10240MB(10GB)に変更されています。

CloudFormation
Lambda関数の作成と、エフェメラルストレージの設定
下記のCloudFormationテンプレートを展開します。
ストレージサイズは「EphemeralStorage」のSize値にて設定が可能です。(デフォルトは512)
参考:AWS CloudFormation - ユーザーガイド (LambdaFunction)
AWSTemplateFormatVersion: 2010-09-09
Description: Lambda function with cfn-response.
Resources:
ephemeralStorageLambdaCfn:
Type: AWS::Lambda::Function
Properties:
Handler: “lambda_function.lambda_handler“
Code:
S3Bucket: “xxxxxxxxxxxx-bucket“
S3Key: “xxxxxxxxxxxx.zip“
EphemeralStorage:
Size: 10240
FunctionName: “ephemeral_storage_lambda_cfn“
Role: “arn:aws:iam::xxxxxxxxxxxx:role/service-role/ephemeral_storage_lambda-cfn-role-xxxxxxxx“
Runtime: “python3.9“
ストレージ設定の確認
コンソール上で確認すると10240MB(10GB)に設定されています。

料金について
従来通り、512MBのストレージ量にコストはかかりませんが、512MBを超える追加ストレージについて料金が発生します。
Lambda エフェメラルストレージの料金
| リージョン | 1GB x 1秒 単価 |
|---|---|
| 東京 | 0.000000037USD |
| 大阪 | 0.000000037USD |
| バージニア北部 | 0.0000000309USD |
また、AWSが提供している料金計算ツールを使用することで料金の目安が分かります。
AWS Pricing Calculator
モニタリングについて
エフェメラルストレージの使用容量をモニタリングできます。
Lambda関数の拡張モニタリング(Lambda Insights)を有効にすることでモニタリングが可能になります。
[編集]を押下して…

[拡張モニタリング]をONに変更して[保存]を押下

tmp_usedで使用容量がメトリクスにて取得可能、モニタリングできるようになります。
参考:Lambda Insights によって収集されたメトリクス

また、CloudWatchアラームと連携して、使用容量の閾値を超えたらアラームを発報することもできます。
まとめ
- AWS Lambdaのエフェメラル(一時的)ストレージが上限10GBにアップデートされました。
- 512MBを超える追加ストレージに対して料金が発生します。
- ストレージの使用容量をモニタリングできます。
投稿者プロフィール
-
2021年4月からスカイアーチに中途入社しました。
AWSともっと仲良くなるべく日々勉強中です。






