cloudwithbass

[AWS] Amazon CloudFront vs Amazon S3 Transfer Accelerator 본문

AWS

[AWS] Amazon CloudFront vs Amazon S3 Transfer Accelerator

여영클 2024. 6. 14. 19:16

선요약

차이점 1. S3 TA는 Client와 S3 간 데이터를 주고 받는 용도지만, Cloud Front는 그렇지않습니다.
따라서 S3 TA는 정적인 콘텐츠만을 주고받을 수 있고, CloudFront는 EC2 등의 동적인 콘텐츠 또한 Client와 주고 받을 수 있습니다.

차이점 2. S3 TA는 CDN과 다르게, 콘텐츠를 캐시하지 않습니다.

 

AWS documentation에 따르면, 두 서비스는 각각 다음과 같이 설명되어 있습니다.

 




 

CloudFront 

CloudFront delivers your content through a worldwide network of data centers called edge location

 

 

 

S3 Transfer Accelerator (이하 S3 TA)

Transfer Acceleration takes advantage of the globally distributed edge locations in Amazon CloudFront. 

 

두 서비스 모두 edge location을 이용하며, 세계적으로 컨텐츠를 전송하는 데 사용하는 서비스라고 해서 헷갈리네요.

그래서 이번 포스팅을 통해 두 서비스의 개념과 차이점을 정리하겠습니다.

 

우선, 이를 이해하기 위해 필요한 개념인 edge location에 대해 알아보겠습니다.

 

Edge location

global 웹 애플리케이션을 한국에서 호스팅한다고 가정해봅시다.
이때 최초로 서버를 호스팅하는 곳을 오리진 서버라고 합니다. 

오리진 서버는 웹 애플리케이션의 모든 데이터를 저장하고 제공하는 기본 서버입니다.

이제 사용자들이 오리진 서버로 정보를 요청하려고 합니다.
(A) 한국에서 정보를 요청할 때와 (B) 미국에서 정보를 요청할 때, 요청 속도는 어디가 더 빠를까요?
당연히 (A) 한국에서 요청할 때가 더 빠릅니다. 이는 요청이 오리진 서버에 도달하기까지의 거리와 관련이 있습니다.

요청이 라우터를 거치는 단위를 hop이라고 하는데, 미국은 한국보다 거리가 더 멀기 때문에 더 많은 hop을 거치게 됩니다. 따라서 hop이 많아질수록 네트워크 지연 시간이 증가하여 요청 속도가 느려집니다.

 

 

AWS region 현황(엣지 로케이션이 아님)

이때 Edge location의 개념을 도입하면, 한국 외의 지역에서도 더 빠른 요청 처리가 가능합니다.

Edge location은 사용자와 가까운 곳에 위치한 서버입니다. 전세계 곳곳에 있습니다.

Edge location은 오리진의 콘텐츠 원본을 캐시에 저장합니다.

 

이제 (B) 미국 사용자는 미국에 있는 Edge location의 캐시에 정보를 요청하면, 한국으로 요청할 때보다 더 적은 hop을 거치므로 요청 속도가 빨라집니다.

 

Cloud Front

Cloud Front는 엣지 로케이션을 이용해 전 세계의 사용자에게 콘텐츠를 빠르게 전송하는 서비스입니다.

오리진의 콘텐츠를 엣지 로케이션에 캐싱하고, 그 캐시의 정보를 사용자에게 전달합니다.

EC2, ALB, S3 등을 배포할 수 있습니다.

 

이러한 서비스를 Contetn Delivery Network의 약자로, CDN이라고 합니다.

CDN은 여러 대의 서버(Edge location)을 사용하며, WAF를 활성화할 수 있으므로 DDos 공격으로부터 안전합니다.

  • WAF: Web Application Firewall. 

 

S3 Transfer Accelerator

S3 TA 또한 엣지 로케이션을 사용합니다.

S3 TA는 S3의 property에서 활성화할 수 있으며, 활성화 시 S3 TA 전용 엔드포인트가 생성됩니다. 이 엔드 포인트를 이용하면 됩니다.

 

Client와 S3 간 업로드나 다운로드하는 데이터는 엣지 로케이션을 거쳐서, 최적화된 네트워크 경로를 통해 빠르게 전송됩니다.

 

Cloud Front와의 차이점이 여기서 나타납니다.

차이점 1. S3 TA는 Client와 S3 간 데이터를 주고 받는 용도지만, Cloud Front는 그렇지않습니다.

따라서 S3 TA는 정적인 콘텐츠만을 주고받을 수 있고, CloudFront는 EC2 등의 동적인 콘텐츠 또한 Client와 주고 받을 수 있습니다.

 

2. 차이점 S3 TA는 CDN과 다르게, 콘텐츠를 캐시하지 않습니다.

 

 

 

 

 

제가 정리한 글이 도움이 되셨길 바랍니다.

최대한 공식 문서를 토대로 작성했으나, 만약 잘못된 정보가 있을 경우 댓글로 알려주시면 감사드리겠습니다.


참조 문서

 

  • Amazon CloudFront documentation

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html

 

  • Use various origins with CloudFront distributions

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html

 

  • Amazon S3 Transfer Accelerator Documentation

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/transfer-acceleration.html

 

  • AWS Global Accelerator Doucmentation

https://docs.aws.amazon.com/global-accelerator/latest/dg/what-is-global-accelerator.html

 

  • AWS news blog

https://aws.amazon.com/ko/blogs/aws/aws-storage-update-amazon-s3-transfer-acceleration-larger-snowballs-in-more-regions/ 

 

  • Stack Overflow

https://stackoverflow.com/questions/36882595/are-there-any-difference-between-amazon-cloudfront-and-amazon-s3-transfer-accele 

 

 

  • Youtube - S3 TA 소개

https://www.youtube.com/watch?v=J2CVnmUWSi4