Amazon Cloudfront 또는 S3를 사용하는 경우


232

s3 또는 다른 방식으로 Amazon Cloudfront에 더 적합한 사용 사례가 있습니까? 2와 예제의 차이점을 이해하려고합니다.


1
파일을 제공하는 경우 CloudFront에서만 사용자 지정 도메인에 HTTPS를 사용할 수 있습니다. 그것은 우리를 위해 그것을 봉인했습니다.
mlissner

답변:


373

Amazon S3 는 하나의 특정 지역에서 대용량의 저비용 파일 스토리지를 위해 설계되었습니다. * 스토리지 및 대역폭 비용은 매우 낮습니다.

Amazon CloudFront 는 CDN (Content Delivery Network)으로, 사용자와 가장 가까운 곳에서 웹 데이터를 프록시하고 캐시합니다.

최종 사용자가이 도메인 이름을 사용하여 개체를 요청하면 콘텐츠를 고성능으로 전달하기 위해 가장 가까운 가장자리 위치로 자동 라우팅됩니다. ( 아마존 )

CloudFront에서 제공하는 데이터는 S3에서 제공되거나 제공되지 않을 수 있습니다. 전송 속도에 최적화되어 있기 때문에 대역폭이 약간 더 비쌉니다.

사용자 기반이 현지화 되어있는 경우 S3 또는 CloudFront에서 작동하는 데 큰 차이가 없습니다 (그러나 S3 버킷에 적합한 위치를 선택해야합니다 (미국, EU, APAC)). 사용자 기반이 전 세계 로 확산 되고 속도가 중요한 경우 CloudFront가 더 나은 옵션 일 수 있습니다.

S3와 CloudFront를 모두 도메인 별칭을 허용하지만 CloudFront를 허용 여러 개의 별칭 그 정도 d1.mystatics.com, d2.mystatics.comd3.mystatics.com병렬 다운로드 용량 (이 사용 증가 같은 위치에 대한 모든 점에서 추천 할 수있는 구글 있지만 및 HTTP / 2이다 SPDY의 도입으로 덜 중요 함).

CloudFront 2014 년 기준 CORS도 지원합니다 (sergiopantoja 덕분에).

* 참고 : S3는 이제 2015 년부터 자동으로 추가 리전으로 복제 할 수 있습니다.


10
고마워, 좋은 대답.
Kamo

3
CloudFront에서 CORS를 완벽하게 지원하지 않기 때문에 웹 글꼴에는 차이가 있습니다. S3 응답에서 헤더를 캐시하지만 완전한 CORS 지원을 위해 일부 헤더는 요청 서버 (원본)에 따라 달라집니다. 해결 방법 : forums.aws.amazon.com/message.jspa?messageID=422504#422532
Cymen

11
이 업데이트 유지하기 위해 CloudFront를 이제 CORS를 지원 aws.amazon.com/about-aws/whats-new/2014/06/26/...
sergiopantoja

Cloudfront는 콘텐츠를 매우 빨리 제거합니다. 최대 연령을 하루 이상으로 설정한다고해서 61 분 동안 내용을 건드리지 않아도 컨텐츠가 제거되지는 않습니다. 드물게 액세스 할 수있는만큼 사용자 별 콘텐츠를 많이 사용하지 않습니다.
BobB

53

CloudFront와 S3 버킷은 동일하지 않습니다 . 평신도의 용어 : CloudFront를 사용하면 Edge 위치에서 CDN (Content Delivery Network)을 통해 웹 컨텐츠의 컨텐츠 전송을 가속화 할 수있는 반면 S3 버킷은 실제 파일을 저장하는 위치입니다. CloudFront 소스는 반드시 S3에서 가져온 것이 아니라 CloudFront와의 S3 통합을보다 쉽게 ​​시각화 할 수 있습니다. 여기에 이미지 설명을 입력하십시오


감사! 이 다이어그램은 차이점을 명확하게 보여줍니다.
Rajan Sharma

28

또 다른 주요 차이점은 CloudFront를 통해 서버에서 사이트를 미러링 할 수 있다는 것입니다. 그런 다음 Cloudfront는 콘텐츠 전송 네트워크를 사용하여 이미지, mp3 또는 비디오와 같은 파일을 캐시합니다.

이를 통해 Amazon S3를 사용할 때와 마찬가지로 자산을 복제 할 필요가 없습니다.

그러나 파일이 만료 된 후 CloudFront는 라이브 사이트에서 파일을 다시 가져옵니다 (비용). 따라서 클라우드 프론트는 자주 액세스하는 파일에 가장 적합하고 드물게 액세스되는 파일에 대해서는 더 적습니다.

아파치의 파일 만료를 설정하는 한 가지 방법은 .htaccess에 있습니다. 예를 들어

<filesMatch "\\.(mp3|mp4)$">
Header set Cache-Control "max-age=648000, private"
</filesMatch>

20

Amazon CLOUDFRONT와 S3는 Amazon Web Services에서 제공하는 서로 다른 두 가지 서비스입니다.

Amazon S3 는 다음과 같은 정적 파일을 저장할 수있는 스토리지 서비스입니다.

CSS, 이미지, 자바 스크립트, 비디오 등

Amazon CloudFront 는 AWS에서 파일을 요청하는 사용자와 특정 지역의 S3 데이터 센터 사이에있는 미들웨어이며 CloudFront는 정적 및 동적 웹 컨텐츠를 S3에서 사용자로 빠르게 배포하는 데 사용됩니다.

예를 들어 더 잘 이해할 수 있습니다.

예를 들어, S3는 파일을 저장할 데이터 센터 위치 인 AWS 리전 미국 동부 (버지니아 북부)에 있습니다.

인도의 사용자가 버지니아의 AWS 서버에서 파일에 액세스하려고하면 요청으로 해당 특정 위치로 이동해야하는데 시간이 오래 걸립니다.

CloudFront의 역할은 사용자와 AWS S3 사이의 미들웨어라는 것입니다.


가장 자주 사용되는 파일은 CloudFront에 캐시 될 수 있으며 그 기능은 엣지 로케이션에서 해당 파일을 복제합니다 (지연 시간이 짧은 최종 사용자에게 컨텐츠를 제공하기 위해 Amazon CloudFront는 컨텐츠 전송을 위해 글로벌 엣지 로케이션 네트워크를 사용함).

지연 시간이 가장 낮은 엣지 로케이션에 이미 컨텐츠가있는 경우 CloudFront에서 즉시 제공합니다. 컨텐츠가 현재 해당 엣지 로케이션에없는 경우 CloudFront는 Amazon S3 버킷에서 컨텐츠를 검색하여 사용자에게 최대한 빨리 제공합니다.

모든 요청에는 CloudFront에서 S3까지의 새로운 DNS가 제공되므로 트래픽이 줄고 병렬 요청 처리가 늘어납니다.

다음은 2016 년 7 월 기준 현재 엣지 로케이션 목록입니다.

미국

  • 버지니아 주 애쉬 번 (3)
  • 조지 아주 애틀랜타
  • 일리노이 주 시카고
  • 텍사스 달라스 / 포트 워스 (2)
  • 헤이워드, CA
  • 플로리다 주 잭슨빌
  • 로스 앤젤레스, 캘리포니아 (2)
  • 플로리다 주 마이애미
  • 뉴욕, 뉴욕 (3)
  • 뉴저지, 뉴 어크
  • 팔로 알토, CA
  • 산호세, CA
  • 시애틀, WA
  • 사우스 벤드, IN
  • 미주리 주 세인트루이스

유럽

  • 암스테르담, 네덜란드 (2)

  • 더블린, 아일랜드

  • 독일 프랑크푸르트 (3)

  • 영국 런던 (3)

  • 마드리드, 스페인

  • 마르세유, 프랑스

  • 밀라노, 이탈리아

  • 파리, 프랑스 (2)

  • 스톡홀름, 스웨덴

  • 바르샤바, 폴란드

아시아

  • 첸나이, 인도

  • 홍콩 (2)

  • 인도 뭄바이

  • 필리핀 마닐라

  • 인도, 뉴 델리

  • 일본 오사카

  • 서울 (3)

  • 싱가포르 (2)

  • 타이페이, 대만

  • 일본 도쿄 (2)

호주

  • 호주 멜버른

  • 호주 시드니

남아메리카

  • 브라질 상파울루

  • 브라질 리우데 자네이루

이를 통해 사용자가 S3가 호스팅되는 지역과 동일한 지역에있는 경우 CloudFront를 방문 할 필요가 없으며 글로벌 수준에서 사용자 수가 증가하면 CloudFront를 사용해야한다는 결론을 내릴 수 있습니다 더 나은 대기 시간 및 트래픽 제어


1
이 최고의 답변입니다
주앙 테로

14

S3에서 CloudFront를 사용하는 또 다른 경우는 CloudFront의 사용자 지정 도메인에 SSL 인증서를 사용할 수 있지만 S3에서는 SSL 인증서를 사용할 수 없다는 것입니다. 아주 좋은 이유 임호!


2
새로운 인증서 관리자를 사용하면 훨씬 쉽습니다.
phatmann

7

Amazon S3는 단순 스토리지 서비스로, 비디오, 이미지, PDF 등과 같은 많은 정보를 사용할 수 있습니다.

CloudFront는 최종 사용자에게 더 가까운 Content Delivery Network이며 Amazon S3에서 정보를 최대한 짧은 시간에 사용할 수 있도록하는 데 사용됩니다.

샘플 사용 사례는 주문형 비디오입니다.

  1. 한 곳에 비디오를 저장합니다. S3는 사전 녹화 된 모든 비디오를 다른 형식으로 저장합니다.
  2. 전 세계 사용자 사례
  3. CloudFront는 비디오를 엣지 로케이션에 캐시하는 데 사용됩니다. 최종 사용자에게 컨텐츠를 전달하는 데 사용할 수 있습니다. 가장 가까운 물리적 가장자리 위치에 따라 위치가 자동으로 선택됩니다. 현재 약 51 개의 엣지 로케이션이 있습니다.

올바른 사용 사례에 CloudFront를 사용하면 다음과 같은 이점이 있습니다.

  1. 지연 시간 향상-최종 사용자 경험 향상
  2. 데이터 전송 비용 절감 가능 특정 AWS 리전의 동일한 S3 버킷에서 데이터가 매번 전송되는 것은 아닙니다.

다른 가능한 사용 사례 :

  1. 라이브 스트리밍
  2. 노름
  3. 웹 사이트 가속

4

여기서 놓친 한 가지 측면은 다음과 같습니다.

Amazon Cloudfront는 사용량이 많을수록 Amazon S3보다 저렴한 가격을 제공합니다.

  • Cloudfront CDN은 지리적으로 분산 된 여러 서버 (CSS, JS)에 콘텐츠를 배포하는 데 사용됩니다.

  • s3은 사용자 당 리소스 사용량이 적은 반면 (사용자 이미지, PDF).

웹 서버를 완전히 우회하는 s3 버킷에서 Cloudfront 리소스를 제공 할 수 있습니다.

( 웹 서버가 이미지와 자바 스크립트를 사전 컴파일하고 저장하는 상황에서 유용합니다. s3에 이미지를 저장하면 서버 메모리 공간이 줄어 듭니다. )

예 : Heroku Slug에서


2

먼저 Amazon S3는 클라우드 스토리지이고 Cloud Front는 CDN (Content Delivery Network)임을 설명하고 싶습니다.

따라서 S3에 파일을 저장하고 인터넷을 통해 콘텐츠를 제공하는 배포를 만들 수 있습니다. 특정 지역에 대한 배포를 만들 수 있습니다.



1

Amazon S3는 추후 리전 / 지역으로부터 보호하기 위해 전 세계에 분산 된 스토리지 시스템을 찾고 있다면 훌륭한 객체 스토리지 플랫폼입니다. 또한 사진, 비디오, 이미지, 백업 등과 같이 트랜잭션이 아니며 변경되지 않는 정적 / 고정 컨텐츠에도 유용합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.