유미의 기록들

Multipart Upload 방식 vs Pre-signedURL 방식 본문

대외활동 기록/내일배움캠프

Multipart Upload 방식 vs Pre-signedURL 방식

지유미 2024. 11. 14. 23:51
728x90
반응형

Multipart Upload 방식과 Pre-signed URL 방식 각각의 장단점이 있어, 상황에 따라 적합한 방식을 선택하는 것이 좋습니다. 비교해볼게요.

1. Multipart Upload 방식

장점

  • 서버에서 모든 처리를 관리: 서버가 파일을 나누어 업로드하고, 업로드 완료 요청까지 전부 관리하므로, 업로드 진행 상태나 에러 처리를 서버에서 완벽하게 제어할 수 있습니다.
  • 중간 에러 복구 용이: 네트워크 에러나 업로드 중 문제가 생겨도, 실패한 파트만 다시 업로드하면 되므로 효율적입니다.
  • 큰 파일 업로드에 유리: 대용량 파일의 경우 한 번에 업로드할 필요가 없으므로 메모리 사용량이 줄어들고 속도가 개선될 수 있습니다.

단점

  • 서버 부하 증가: 모든 파일 업로드 작업이 서버에서 이루어지므로 서버 자원 소모가 큽니다. 특히 대용량 파일을 자주 업로드해야 하는 경우 서버의 네트워크와 처리 속도가 느려질 수 있습니다.
  • S3 권한 관리: 서버가 직접 업로드를 처리하기 때문에, S3에 대한 쓰기 권한이 서버에 필요합니다.

2. Pre-signed URL 방식

장점

  • 클라이언트에서 직접 업로드 가능: 서버는 pre-signed URL만 제공하고 업로드는 클라이언트가 수행하므로, 서버 부하가 줄어듭니다.
  • 간단한 구현: 서버는 URL만 발급하고 클라이언트는 해당 URL로 직접 업로드하므로, 서버-클라이언트 간 통신이 간소화됩니다.
  • 보안 강화: pre-signed URL은 제한된 시간 동안만 유효하고, 클라이언트가 직접 업로드하므로 서버에서 S3 접근 권한을 줄 필요가 없습니다.

단점

  • 에러 관리가 복잡: 업로드 도중 네트워크 문제가 발생할 경우, 클라이언트 쪽에서 이를 감지하고 재시도를 구현해야 하므로 복잡할 수 있습니다.
  • 클라이언트 구현 필요: 클라이언트가 직접 업로드 작업을 처리해야 하기 때문에, 클라이언트 쪽 구현이 더 복잡할 수 있습니다.

어느 방식이 좋은지?

  • 대용량 파일 업로드와 서버 제어가 필요한 경우: Multipart Upload 방식이 적합합니다. 예를 들어, 동영상 강의 업로드와 같이 서버가 파일 업로드의 성공 여부를 제어해야 하는 경우 이 방식이 유리합니다.
  • 서버 부하를 줄이고 클라이언트가 업로드를 담당하는 경우: Pre-signed URL 방식이 좋습니다. 특히 모바일 앱이나 브라우저에서 파일을 직접 업로드하는 경우, 서버 비용을 절감할 수 있습니다.

결론

두 방식 모두 장단점이 뚜렷합니다. 서버 리소스와 대용량 파일 업로드 빈도에 따라 적절한 방법을 선택하는 것이 중요하며, 상황에 따라 두 방식을 함께 적용할 수도 있습니다. 예를 들어, 대용량 파일에는 Multipart Upload를 사용하고, 일반 파일 업로드에는 Pre-signed URL을 사용하는 방법도 가능합니다.

728x90
반응형
Comments