React

[프론트엔드 서버] Amazon S3 + CloudFront에 대해

코딩하는 Jay 2021. 10. 7. 09:27
반응형

Amazon S3

확장성, 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스.

특징

  • 모든 종류의 데이터를 원하는 형식으로 저장
  • 저장할 수 있는 데이터의 전체 볼륨과 객체 수에는 제한이 없음
  • Amazon S3는 간단한 Key 기반의 객체 스토리지이며, 데이터를 저장 및 검색하는데 사용할 수 있는 고유한 객체 키를 할당.
  • Amazon S3는 간단한 표준 기반 REST 웹 서비스 인터페이스를 제공
  • 안전함

CloudFront

Amazon CloudFront는 개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전 세계 고객에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크(CDN) 서비스

CDN(Content Delivery Network) CDN(콘텐츠 배달 네트워크)은 사용자에게 웹 콘텐츠를 효율적으로 제공할 수 있는 서버의 분산 네트워크입니다. CDN은 최종 사용자와 가까운 POP(point-of-presence) 위치의 에지 서버에 캐시된 콘텐츠를 저장하여 대기 시간을 최소화합니다.

특징

  • 엣지 로케이션이라고 하는 데이터 센터의 전 세계 네트워크를 통해 콘텐츠 서비스를 제공
  • 엣지 서버를 사용해 콘텐츠를 캐싱하고 서비스를 제공하면 최종 사용자가 위치한 곳에 더욱 가깝게 콘텐츠를 전송할 수 있어 성능이 향상

전 세계 엣지 서버 위치

S3 + CloudFront

  • 정적 콘텐츠를 대규모로 저장하고, 보호하고, 전송할 수 있는 방법
  • S3에 저장하는 이유
    • S3 버킷이 자동으로 확장 및 축소되기 때문에 스토리지 공간을 계획하여 특정 크기를 할당할 필요가 없다.
    • 서버리스(Serverless) 서비스이기 때문에 파일이 저장되는 서버를 관리하거나 패치할 필요가 없다. 단지, 콘텐츠를 저장하고 가져오기만 하면 된다.
    • 애플리케이션에 서버가 필요하더라고 정적 콘텐츠에 대한 요청을 처리할 필요가 없기 때문에 서버 크기를 줄일 수 있다.
  • CloudFront를 사용하는 이유
    • 비용을 효과적으로 관리하는 동시에 애플리케이션의 성능과 보안까지 최적화 가능
    • CloudFront에서 데이터를 전송하면 설계상 S3에서 직접 사용자에게 전송하는 것보다 더육 비용 효율적!
  • S3 → CloudFront 데이터 전송 수수료 무료
  • CloudFront → 인터넷 으로 전송되는 콘텐츠에 대해서만 요금을 지불하면 됨.
  • 아래 그림과 같이 S3로 직접 요청하는 경우, 거리에 따라 요청 시간이 길어질 수 있음.

  • CloudFront를 사용하는 경우, 아래 그림과 같이 근접한 엣지 서버로 라우팅되어 가까운 거리에서 요청하여 빠르게 접근이 가능함

  • (아래 그림) 또한 사용자가 직접적으로 S3에 접근하는 것이 아니라 CloudFront를 통해 접근하는 것이기 때문에 콘텐츠 보안 유지에도 이점이 있음.

 

  • 기본적으로 AWS를 통한 악성 공격을 차단할 수 있는 기능도 제공

 

참고

https://aws.amazon.com/ko/s3/?did=ft_card&trk=ft_card

https://victorydntmd.tistory.com/335

https://aws.amazon.com/ko/blogs/korea/amazon-s3-amazon-cloudfront-a-match-made-in-the-cloud/

 

반응형