身に覚えのない170万円の請求が……AWSの運用管理で起きた“4つのしくじり”(3/4 ページ)
AWS Lambdaが突然死
3つ目のしくじりは、Lambdaでエラーが頻発したこと。「Lambdaの突然死」と古屋さんは表現する。
アイレットはある顧客向けに、S3から抜き出したzipファイルをLambda上のプログラムで解凍し、それをまた別のS3バケットに保管するという仕組みを実装した。これも運用を始めてしばらくの間は何の問題もなく動作していたものの、あるタイミングを境にLambdaで「No space left on device」(デバイス上の容量が不足している)というエラーが頻発するようになった。
だが、実際にはS3の容量には余裕があり、エラーの原因とは考えにくかった。そこでさまざまな仮説を立てて検証を進めた結果、Lambda上のディスク容量が枯渇していることが判明した。
Lambda上のプログラムでは、S3から受け取ったzipファイルを解凍し、いったんローカルのテンポラリディレクトリ上に展開した後、別のS3バケットへと渡していた。Lambdaのテンポラリディレクトリの上限は512MBだが、展開するファイルのサイズはそれより小さいため、問題が起こるとは予想していなかった。
しかしAWSのドキュメントをよく見てみると、「Lambda関数を連続して呼び出す場合、AWS Lambdaはできる限り実行コンテキストを再利用する」との記述が見つかった。つまり、Lambda上のプログラムが繰り返し呼び出された場合、テンポラリディレクトリが毎回クリアされるとは限らず、前回の処理で保存したファイルが残った状態のまま次の処理で再利用されるケースがあるということだ。
「最終的には、処理のたびにファイルを削除することで事なきを得た。『Lambdaは毎回使い切り』と勝手に思い込んでいると、同じようなワナにはまる可能性があるので、ユーザーは要注意だ」(古屋氏)
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
個人向けGeminiのモデル選択が厳格化 無料ユーザーが使えるのは「Flash-Lite」のみに
-
2
「Androidのマイナンバーカード」提供へ 20日から 物理カードなしでも本人確認など可能に
-
3
タイムズカー漏えいで集団訴訟の動き、登録3000人弱 呼び掛けた弁護士に聞いた──「謝罪で済む案件ではない」
-
4
「OpenAIの文化は壊れている」──安全性報告書を統括した従業員が退社し、寄稿
-
5
再び浮上した「クレカ表現規制問題」 クリスタやpixiv FANBOXの騒動からマンガ家が感じた不安と焦り
-
6
「アバハウス」全顧客の情報漏えいか 会員・受注DBに不正アクセス 「不審な返金メール届いた」報告で判明
-
7
「マイナアプリ」一部端末でログインできない不具合 リリースから2日
-
8
第一生命に不正アクセス 従業員情報12万人分漏えいか 退職者も対象
-
9
免許証の悪用防ぐ届出集中、CIC・JICCで手続き遅延 タイムズカー情報流出直後に
-
10
Google「AI Plus」4割値下げ、月725円に ストレージ倍増、価格攻勢でシェア拡大へ
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR