반응형

S3 멀티 파트 업로드

멀티 파트 업로드를 사용하면 대용량 객체를 관리 가능한 수준의 파트로 분할하여 일관되게 업로드할 수 있습니다. 이 프로세스에서는 다음 세 단계를 수행합니다.

  1. 업로스 시작
  2. 객체 파트 업로드
  3. 멀티 파트 업로드 완료

멀티 파트 업로드 요청이 완료되면 S3에서 개별 부분으로 전체 객체를 재생성합니다. 다음 기능을 활용해 대형 객체 업로드 프로세스를 개선할 수 있습니다.

  • 처리량 개선 - 파트를 병렬로 업로드하여 처리량을 개선할 수 있습니다.
  • 네트워크 문제로부터 빠른 복구 - 더 작은 파트 크기가 네트워크 오류로 인해 실패한 업로드의 재시작 시 영향을 최소화합니다.
  • 객체 업로드 일시 중지 및 재개 - 객체 파트를 장시간에 걸쳐 업로드할 수 있습니다. 시작한 멀티 파트 업로드는 만료되지 않습니다. 멀티파트 업로드를 명시적으로 완료하거나 취소해야 합니다.
  • 최종 객체 크기를 알기 전에 업로드 시작 - 객체를 생성하는 동안 업로드할 수 있습니다.
  • 대용량 객체를 업로드 - 멀티파트 업로드 API를 사용해 최대 5TB 크기의 대용량 객체를 업로드할 수 있습니다.

* 콘솔을 통해 멀티 파트 업로드를 수동으로 진행할 수는 없습니다.

 

상세한 내용

 

S3 Transfer Acceleration

전 세계에 배포된 AWS 엣지 로케이션을 통해 S3 Transfer Acceleration에서는 S3 버킷으로 데이터를 빠르고 쉽게 전송할 수 있습니다. 데이터는 최적화된 네트워크 경로를 통해 S3로 라우팅됩니다.

 

다음과 같은 경우에 Transfer Acceleration을 사용합니다.

  1. 전 세계 고객이 중앙 버킷에 데이터를 업로드하는 경우
  2. GB ~ TB 단위 데이터를 대륙 간에 정기적으로 전송하는 경우
  3. 인터넷을 통해 S3에 데이터를 업로드할 때 사용 가능한 대역폭을 모두 활용하지 않는 경우

S3 Transfer Acceleration에서는 AWS 서버와 클라이언트 애플리케이션 간 거리를 줄일 수 있습니다. 전 세계에 분산된 수백 개의 엣지 로케이션 네트워크를 사용하기 떄문입니다. AWS는 애플리케이션과 가장 가까운 엣지 로케이션을 통해 업로드와 다운로드를 자동으로 라우팅합니다.

 

이를 S3 Transfer Acceleration Speed Comparison 도구를 사용하여 S3 리전의 가속 적용 업로드 속도와 가속 미적용 업로드 속도를 비교할 수 있습니다.

 

자세한 내용

 

S3 이벤트 알림

S3 이벤트 알림을 사용하면 버킷에서 특정 객체 이벤트가 발생할 때 알림을 받을 수 있습니다. 이러한 이벤트 중심 모델에서는 더 이상 객체 변경 사항을 확인하기 위해 서버 기반 폴링 인프라를 구축하거나 유지 관리할 필요가 없습니다. 그리고 처리할 변경 사항이 없을 때는 해당 인프라의 유휴 시간에 대한 요금을 지불하지 않아도 됩니다.

 

S3는 다음 대상 위치로 이벤트 알림 메시지를 전송할 수 있습니다.

  • Simple Notification Service(SNS) 주제
  • Simple Queue Service(SQS) 대기열
  • lambda 함수

알림 구성에서 이러한 대상 위치의 ARN(Amazon Resource Name) 값을 지정해야 합니다.

 

 

위 이미지에서 웹 사이트가 사용하는 이미지 버킷에 JPEG 이미지를 업로드합니다. 웹 사이트는 업로드하는 각 파일의 작은 썸네일 미리보기 이미지를 전송할 수 있어야 한다고 가정하겠습니다. S3 버킷에 이미지 객체를 업로드하면 이벤트 알림이 전송되어 일련의 AWS Lambda 함수가 호출됩니다. 함수 실행이 완료되면 썸네일 버킷에 객체가 추가됩니다. S3 이벤트 알림이 버킷의 활동을 관리하며 썸네일을 자동으로 생성합니다.

 

  • Lambda 함수의 출력은 원래 JPEG 이미지의 작은 버전입니다. 

자세한 내용

 

S3 비용 관련 요인

 

S3에서 고려해야 하는 몇 가지 비용 관련 요인은 다음과 같습니다.

  • 스토리지
    객체 저장 시에 발생하는 GB당 비용을 고려해야 합니다. S3 버킷에서는 객체 저장 요금을 지불해야합니다. 부과되는 요금은 객체 크기, 월별 객체 저장 기간 및 스토리지 등급에 따라 달라집니다. PUT, COPY 또는 수명 주기 규측을 사용하여 S3 스토리지 등급으로 데이터를 이동할 때는 요청당 수집 요금이 부과됩니다.

  • 요청 및 검색
    API 호출(PUT 및 GET 요청)의 수를 고려합니다. S3 버킷 및 객체를 대상으로 이루어지는 요청에 대한 요금을 지불합니다. S3 요청 비용은 요청 유형을 기준으로 책정되며 요청의 양에 따라 부과됩니다. S3 콘솔을 사용하여 스토리지를 검색하면 GET, LIST 및 원활한 검색을 위해 실행하는 기타 요청에 대한 요금이 부과됩니다.

  • 데이터 전송
    일반적으로 인터넷으로부터의 데이터 수신에는 전송 요금이 부과되지 않습니다. 요청자의 롤케이션과 데이터 전송 매체에 따라 뎅터 송신에는 각기 다른 요금이 부과될 수 있습니다.

  • 관리 및 분석
    계정 버킷에서 활성화하는 스토리지 관리 기능 및 분석에 대한 비용을 지불해야 합니다. 이 교육 ㄱ ㅘ정에서는 이러한 기능에 대해 자세히 설명하는 않습니다.

  • 복제 및 버전 관리
    해당 서비스 사용 시 AWS 결제 금액이 크게 늘어날 수 있습니다. 이러한 서비스는 객체 복사본을 여러 개 생성하므로 스토리지 티어 요금 외에 각 PUT 요청 요금도 지불해야 합니다. S3 교차 리전 복제 사용 시에도 AWS 리전 간에 데이터를 전송해야 합니다.

S3 비용 상세

 

반응형