起きたこと
数時間前まで元気に動いていたLambdaバッチが、特にデプロイや設定の変更をしてないのに Runtime.InvalidEntrypoint
エラーで動かなかった。
Error: fork/exec /lambda-entrypoint.sh: exec format error
Runtime.InvalidEntrypoint
対処方法
ソースを再度同じ環境へ再デプロイをかけた。
考察
通常このエラー(Runtime.InvalidEntrypoint
)は、Lambdaのエントリーポイントが設定されていない時に吐かれるエラー。
Lambdaがキックされた時に最初に動くハンドラーが設定されていない時に出るのが一般的。(TemplateやTerraformで設定されている場合)
ini.tf
resource "aws_lambda_function" "funcName" {
function_name = "function-name"
role = "lambdaのロール"
package_type = "パッケージタイプ名"
image_uri = "イメージURI"
image_config {
command = ["hoge/lambda.handler"] # <-これが設定されているにも関わらず、
#lambda.tsとかにhandlerが記載されてない場合などにエラーする。
}
....
}
今回は何も手を加えていない状態で突如としてこのエラーが出るようになった。
Lambdaの裏側で何かしらの更新があった際に、前回デプロイしたイメージとマッチしないハードにあたってしまった可能性?
最後に
もし、何か詳しいことを知っている人がいたら教えてください。
困ったらForce Deploy!