답변:
Amazon S3 는 하나의 특정 지역에서 대용량의 저비용 파일 스토리지를 위해 설계되었습니다. * 스토리지 및 대역폭 비용은 매우 낮습니다.
Amazon CloudFront 는 CDN (Content Delivery Network)으로, 사용자와 가장 가까운 곳에서 웹 데이터를 프록시하고 캐시합니다.
최종 사용자가이 도메인 이름을 사용하여 개체를 요청하면 콘텐츠를 고성능으로 전달하기 위해 가장 가까운 가장자리 위치로 자동 라우팅됩니다. ( 아마존 )
CloudFront에서 제공하는 데이터는 S3에서 제공되거나 제공되지 않을 수 있습니다. 전송 속도에 최적화되어 있기 때문에 대역폭이 약간 더 비쌉니다.
사용자 기반이 현지화 되어있는 경우 S3 또는 CloudFront에서 작동하는 데 큰 차이가 없습니다 (그러나 S3 버킷에 적합한 위치를 선택해야합니다 (미국, EU, APAC)). 사용자 기반이 전 세계 로 확산 되고 속도가 중요한 경우 CloudFront가 더 나은 옵션 일 수 있습니다.
S3와 CloudFront를 모두 도메인 별칭을 허용하지만 CloudFront를 허용 여러 개의 별칭 그 정도 d1.mystatics.com
, d2.mystatics.com
및 d3.mystatics.com
병렬 다운로드 용량 (이 사용 증가 같은 위치에 대한 모든 점에서 추천 할 수있는 구글 있지만 및 HTTP / 2이다 SPDY의 도입으로 덜 중요 함).
CloudFront 는 2014 년 기준 CORS도 지원합니다 (sergiopantoja 덕분에).
* 참고 : S3는 이제 2015 년부터 자동으로 추가 리전으로 복제 할 수 있습니다.
CloudFront와 S3 버킷은 동일하지 않습니다 . 평신도의 용어 : CloudFront를 사용하면 Edge 위치에서 CDN (Content Delivery Network)을 통해 웹 컨텐츠의 컨텐츠 전송을 가속화 할 수있는 반면 S3 버킷은 실제 파일을 저장하는 위치입니다. CloudFront 소스는 반드시 S3에서 가져온 것이 아니라 CloudFront와의 S3 통합을보다 쉽게 시각화 할 수 있습니다.
또 다른 주요 차이점은 CloudFront를 통해 서버에서 사이트를 미러링 할 수 있다는 것입니다. 그런 다음 Cloudfront는 콘텐츠 전송 네트워크를 사용하여 이미지, mp3 또는 비디오와 같은 파일을 캐시합니다.
이를 통해 Amazon S3를 사용할 때와 마찬가지로 자산을 복제 할 필요가 없습니다.
그러나 파일이 만료 된 후 CloudFront는 라이브 사이트에서 파일을 다시 가져옵니다 (비용). 따라서 클라우드 프론트는 자주 액세스하는 파일에 가장 적합하고 드물게 액세스되는 파일에 대해서는 더 적습니다.
아파치의 파일 만료를 설정하는 한 가지 방법은 .htaccess에 있습니다. 예를 들어
<filesMatch "\\.(mp3|mp4)$">
Header set Cache-Control "max-age=648000, private"
</filesMatch>
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 월 기준 현재 엣지 로케이션 목록입니다.
미국
유럽
암스테르담, 네덜란드 (2)
더블린, 아일랜드
독일 프랑크푸르트 (3)
영국 런던 (3)
마드리드, 스페인
마르세유, 프랑스
밀라노, 이탈리아
파리, 프랑스 (2)
스톡홀름, 스웨덴
바르샤바, 폴란드
아시아
첸나이, 인도
홍콩 (2)
인도 뭄바이
필리핀 마닐라
인도, 뉴 델리
일본 오사카
서울 (3)
싱가포르 (2)
타이페이, 대만
일본 도쿄 (2)
호주
호주 멜버른
호주 시드니
남아메리카
브라질 상파울루
브라질 리우데 자네이루
이를 통해 사용자가 S3가 호스팅되는 지역과 동일한 지역에있는 경우 CloudFront를 방문 할 필요가 없으며 글로벌 수준에서 사용자 수가 증가하면 CloudFront를 사용해야한다는 결론을 내릴 수 있습니다 더 나은 대기 시간 및 트래픽 제어
Amazon S3는 단순 스토리지 서비스로, 비디오, 이미지, PDF 등과 같은 많은 정보를 사용할 수 있습니다.
CloudFront는 최종 사용자에게 더 가까운 Content Delivery Network이며 Amazon S3에서 정보를 최대한 짧은 시간에 사용할 수 있도록하는 데 사용됩니다.
샘플 사용 사례는 주문형 비디오입니다.
올바른 사용 사례에 CloudFront를 사용하면 다음과 같은 이점이 있습니다.
다른 가능한 사용 사례 :
여기서 놓친 한 가지 측면은 다음과 같습니다.
Amazon Cloudfront는 사용량이 많을수록 Amazon S3보다 저렴한 가격을 제공합니다.
Cloudfront CDN은 지리적으로 분산 된 여러 서버 (CSS, JS)에 콘텐츠를 배포하는 데 사용됩니다.
s3은 사용자 당 리소스 사용량이 적은 반면 (사용자 이미지, PDF).
웹 서버를 완전히 우회하는 s3 버킷에서 Cloudfront 리소스를 제공 할 수 있습니다.
( 웹 서버가 이미지와 자바 스크립트를 사전 컴파일하고 저장하는 상황에서 유용합니다. s3에 이미지를 저장하면 서버 메모리 공간이 줄어 듭니다. )
예 : Heroku Slug에서
먼저 Amazon S3는 클라우드 스토리지이고 Cloud Front는 CDN (Content Delivery Network)임을 설명하고 싶습니다.
따라서 S3에 파일을 저장하고 인터넷을 통해 콘텐츠를 제공하는 배포를 만들 수 있습니다. 특정 지역에 대한 배포를 만들 수 있습니다.
여기에서 Amazon S3와 Amazon Cloudfront의 비교를 확인할 수 있습니다. http://www.bucketexplorer.com/documentation/cloudfront--amazon-s3-vs-amazon-cloudfront.html
[공개 : 버킷 익스플로러]