[데이터분석 커리어UP] AWS S3

거친코딩·2022년 6월 18일
0
post-thumbnail

글을 시작하며

지난 시간 데이터 분석가는 분석에 대한 지식 뿐만 아니라, 엔지니어링 기술까지 함께 겸비해야 더 좋은 분석가로서 성장할 수 있다고 말씀드렸다.

그중에서 AWS 서비스 중에서 먼저 S3에 대해서 소개해 드리겠다.


S3란 무엇인가?

  • 아마존 웹서비스 중에서 쉽게 파일을 저장할 수 있게 도와주는 Simple Storage Service 즉 우리는 이것을 S3라 부른다.
  • 보통 파일 서버를 따로 구축해서 파일을 저장할 수도 있지만, 이 S3가 가지고 있는 장점 및 다른 AWS 서비스와 함께 사용할 수 있다는 시너지를 고려해본다면 사용하지 않을 이유가 없다.

S3가 가지고 있는 장점이란?

높은 내구성

  • 99.9999999%의 높은 객체 내구성을 보장하도록 설계된 인프라를 갖추고 있고, 여러 디바이스에 중복으로 데이터를 저장하기 때문에, 데이터 유실 및 손상에 대한 걱정 없이 안심하고 중요한 데이터를 저장할 수 있다.

저렴한 비용

  • 파일 서버를 따로 운영하게 된다면 서버 운영에 따른 추가적인 비용도 지불해야 하고, 서버 구축에 대한 이해도도 필요하다. 거기에 비해 S3는 본인이 필요한 만큼만 비용을 지불하고 서버 구축에 대한 이해도도 딱히 필요하지 않으며, 오래된 데이터의 경우 수명 주기 관리를 통해 마이그레이션 정책 설정을 하여 비용도 더욱 절감할 수 있다는 장점을 가지고 있다.

높은 객체 가용성

  • 연중 최대 99.99%의 객체 가용성을 제공하도록 설계, 쉽게 말해서 파일을 서빙할 수 있는 기간이 거의 100%에 가깝게 제공될 수 있게 설계되어 있어서 서비스 중단 걱정 없이 안심하고 S3 서비스를 사용할 수 있다.

높은 보안성

  • SSL을 통한 데이터 전송과 데이터 업로드 후 자동 암호화를 지원하기 때문에 해킹 걱정 없이 파일을 관리할 수 있다. 여기서 말하는 SSL이란, 보안 소켓 계층(Secure Sockets Layer) 디지털 인증서라고 불리며, 사용자의 컴퓨터와 서버 사이의 암호화된 연결을 수립하는 데 사용되는 방식을 말한다.

유연한 확장 가능성

  • 데이터를 저장하다보면 서버 크기에 대한 고민을 하지 않을 수가 없다. 그런데 S3를 사용하게 되면 원하는 만큼의 데이터를 저장하고 액세스할 수 있게 설계되어 있고, 향후 스토리지 크기에 대한 확장과 축소에 대한 고민 없이 유연하게 반응하게 된다.

이벤트 알림 전송

  • S3에 객체가 업로드가 정상적으로 되면, 해당 스토리지에 디펜던시가 있는 서비스들에게 알림을 보내 해당 서비스를 트리거할 수 있는 기능을 가지고 있다. 즉, S3와 연계된 서비스들을 사용하게 된다면 더욱 큰 시너지를 발휘하게 된다.

고성능 처리

  • S3는 지역 선택에 따라, 가장 가까운 서버와 통신하고 네트워크 지연 시간을 가장 최소화할 수 있는 멀티파트 업로드를 지원한다. 여기서 멀티파트 업로드를 하게되면 가지는 이점은, 데이터를 벌크로 크게 한번에 업로드 하는 것이 아니라, 여러 부분의 독집적인 집합으로 데이터를 전송하면서 부분 전송이 실패하더라도 다른 부분에 영향을 주지 않고 해당 부분을 재전송할 수 있게 하고, 병렬적으로 업로드하면서 처리량 또한 크게 개선할 수 있다.

S3를 어디에 사용하는가?

컨텐츠 저장 및 배포

  • S3는 다양한 컨텐츠를 저장할 수 있는 내구성과 가용성이 뛰어난 스토리지를 제공하기 때문에, 웹 혹은 앱형태의 서비스를 운영하더라도 사용자들이 전송하는 다양한 파일을 S3에 저장할 수 있게 되고, 다시 사용자들에게 제공 혹은 가공된 형태로 다시 제공할 수 있다.

빅데이터 분석

  • 빅데이터 분석을 하기 위해서는 말 그대로 엄청나게 많은 데이터를 안전하고 비용 절감을 하면서 저장해야 하는데, S3는 이러한 요구 조건을 모두 충족한 내구성이 강한 합리적인 저장소이다.

재해 복구

  • 갑자기 일어난 재해로 인해 발생되는 데이터 저장소 파괴 문제에도 걱정없도록, 여러 저장소에 데이터를 분산적이게 저장하고 있으므로 빠르게 원복하여 복구할 수 있도록 설계되어 있다.

글을 마치며

  • 좋은 데이터 분석가, 시니어 분석가, 데이터 분석의 팀 리더가 되기 위해서는 데이터 분석 하나에만 집중할 것이 아니라, 데이터 분석 전까지의 전체 과정을 이해하기 위한 엔지니어링 기술이 필요하다고 말씀드렸고, AWS 서비스가 분석가가 엔지니어링 기술을 쉽고 빠르게 익히게 도와주는 훌륭한 서비스라 말씀드렸다. 앞으로도 계속해서 데이터분석가들이 현재보다 빠르고 효과적으로 커리어 UP을 위해 많은 엔지니어링 기술을 소개할 것이고, 더불어 AWS가 보유한 좋은 서비스들도 함께 설명 드리겠다.
profile
데이터 분석 유튜버 "거친코딩"입니다.

0개의 댓글