본문 바로가기
2026년 5월 15일2분 읽기

Next.js 17 Server Action에서 파일 업로드 5MB 이상이면 timeout — 우회 패턴이 뭔가요

김영삼
조회 413댓글 4

Next 17의 Server Action으로 파일 업로드 처리하고 있습니다. 작은 이미지(2~3MB)는 잘 되는데, 5MB 이상 PDF·동영상은 거의 항상 timeout이 납니다.

'use server'
export async function uploadAction(formData: FormData) {
  const file = formData.get('file') as File
  const buf = Buffer.from(await file.arrayBuffer())
  await s3.send(new PutObjectCommand({ Bucket, Key, Body: buf }))
  return { success: true }
}

현재 Vercel 호스팅, Edge가 아닌 Node runtime입니다. 1024MB 메모리 할당했는데도 30초 timeout에 걸립니다.

presigned URL로 클라이언트에서 직접 S3에 업로드하면 되긴 하는데, RLS·권한 체크 흐름이 복잡해집니다. Server Action을 살리고 5MB 이상도 처리할 방법이 있을까요?

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록