-
S3는 요청이 아주 많을 때 자동으로 확장됩니다. S3로부터 첫 번째 바이트를 수신하는 데 지연 시간도 100~200밀리초 사이로 아주 짧습니다. S3는 버킷 내에서 접두사당 초당 3,500개의 PUT/COPY/POST/DELETE 초당 5,500개의 GET/HEAD요청을 지원합니다. 웹 사이트상의 정보인데 다시 한번 명확하게 '접두사당','초당'의 의미를 설명하겠습니다. 간단히 말하면 고성능이라는 뜻이고요 버킷 내에서 접두사 수에 제한이 없습니다. file이라는 이름을 가진 네 개의 객체가 있다고 가정하고 각 객체의 접두사를 분석해 볼겠습니다. 첫 번째 객체의 위치는 bucket/folder1/sub1/file입니다. bucket과 file 사이에 있는 것이 접두사가 됩니다. /folder1/sub1이 됩니다. 이 접듀사를 갖는 file은 초당 3,500개의 PUT 요청과 초당 5,500개의 GET 요청을 처리합니다. folder1에 sub2 폴더가 있을 경우 bucket과 file 사이에 있는 /folder1/sub2가 접두사입니다. 이 접두사에 대해 3,500개의 PUT 요청과 5,500개의 GET 요청을 처리합니다. 버킷 내에서 접두사별로 초당 3,500개의 PUT 요청 및 5,500개의 GET 요청이라는 규칙을 이해하기 쉽습니다. 위 같이 네 개의 접두사에 읽기 요청을 균등하게 분산하면 초당 22,000개의 GET/HEAD 요청을 처리할 수 있습니다.
이제 S3 성능과 최적화 방법을 알아보겠습니다. 먼저 멀티파트 업로드입니다. 100MB가 넘는 파일은 멀티파트 업로드를 사용하는 것이 좋고 5GB가 넘는 파일은 반드시 사용해야 합니다. 멀티파트 업로드는 업로드를 병렬화하므로 전송 속도를 높여 대역폭을 최대화할 수 있습니다. 도식으로 보면 쉽게 이해됩니다, 예시로 큰 파을을 Amazon S3에 업로드하려고 합니다, 파일을 여러 파트로 나누죠 작은 청크로요 각 파을은 Amazon S3에 병렬로 업로드됩니다. Amazon S3에 모든 파트가 업로드되면 자동으로 모든 파트를 합쳐 다시 하나의 큰 파일로 만듭니다. 아주 중요한 부분이니 기억합니다. 이제 업로드와 다운로드를 위한 S3 전송 가속화를 알아보겠습니다. 파일을 AWS 엣지 로케이션으로 전송해서 전송 속도를 높이고 데이터를 대상 리전에 있는 S3 버킷으로 전달합니다. 엣지 로케이션은 리전보다 수가 많습니다. 현재 엣지 로케이션은 200개가 넘고 그 수는 계속 증가하고 있습니다. 그래프로 설명하겠습니다. 전송 가속화는 멀티파트 업로드와 같이 사용할 수있습니다. 미국에 있는 파일을 호주에 있는 S3 버킷에 업로드하려고 합니다. 미국에 있는 엣지 로케이션을 통해 파일을 업로드하면 아주 빠르겠죠 퍼블릭 인터넷을 사용할 테고요 그런 다음 엣지 로케이션에서 호주에 있는 Amazon S3 버킷으로 빠른 프라이빗 AWS 네트워크를 통해 데이터를 전송합니다. 이것이 바로 전송 가속화입니다. 퍼블릭 인터넷의 사용량을 최소화하고 프라이빗 AWS 네트워크의 사용량을 최대화하는 겁니다. 전송가속화는 전송 속도를 높이는 좋은 방법입니다.
파일을 수신하고 파일을 읽는 가장 효율적인 방법은 뭘까? 'S3 바이트 범위 가져오기'라는 기능이 있는데요 파일에서 특정 바이트 범위를 가져와서 GET 요청을 병렬화합니다. 특정 바이트 범위를 가져오는 데 실패한 경우에도 더 작은 바이트 범위에서 재시도하므로 실패의 경우에도 복원력이 높습니다. 사용 사례는 다운로드 속도를 높일 때입니다. S3에 이렇게 큰 파일이 있다고 가정해 봅니다. 첫 번째 파트를 요청합니다. 파일 앞 부분의 몇 바이트겠습니다. 두 번째 파트부터 N 번째 파트까지 요청하여 모든 파트 부분을 특정 바이트 범위 가져오기로 요청합니다. 파일의 특정 범위만 요청하므로 바이트 범위라고 합니다. 또한 모든 요청은 병렬화됩니다 GET 요청을 병렬화해서 다운로드 속도를 높이는 거예요 두 번째 사용 사례는 파일의 일부만 검색하는 겁니다 가령 여러분이 S3에 있는 파일의 첫 50바이트가 헤더라는 알고 파일에 대한 정보를 안다면 첫 50바이트를 사용해서 헤더에 대한 바이트 범위 요청을 보내면 됩니다 그럼 해당 정보를 빠르게 수신할 수 있죠 S3 성능에 관해 알아봤습니다 업로드와 다운로드 속도를 높이는 방법과 기준 성능, KMS 제한을 살펴봤습니다
'aws' 카테고리의 다른 글
aws S3 암호 실습 (0) 2024.03.14 aws S3 암호 (0) 2024.03.13 aws 이벤트 실습 (0) 2024.03.12 aws S3 이벤트 (0) 2024.03.11 aws 요청자 지불 (0) 2024.03.11