A. CDN(Contents Delivery Network) 개요
1. CDN이란?
출처 : https://www.cloudflare.com/ko-kr/learning/cdn/what-is-a-cdn/
콘텐츠 제공자와 사용자 간 지리적으로 떨어져 있는 환경에서 콘텐츠를 빠르게 제공하기 위한 기술입니다. CDN 기술의 핵심은 캐시 서버를 통한 지역적인 분산에 있습니다. 원본 콘텐츠를 가지고 있는 서버를 오리진 서버라 부르는데, 해당 오리진 서버로부터 지역적으로 분산되어 있는 캐시 서버로 콘텐츠를 분배합니다.
이러한 CDN의 성능적인 우위와 높은 가용성 보장 등의 기술적 장점으로 많은 기업이 CDN을 도입하여 서비스하고 있습니다.
2. CND 캐싱 방식
- 캐싱 : 지역적으로 분산된 캐시 서버로 저장하는 행위.
- Cache Hit : 캐시 서버에서 콘텐츠를 가지고 있는 경우.
- Cache Miss : 캐시 서버에서 콘텐츠를 가지고 있지 않는 경우.
2-1. 정적 캐싱 (Static Caching)
이미지 파일, 자바 스크립트, CSS등과 같이 변경되지 않는 정적인 콘텐츠를 캐싱합니다. 웹사이트에서 제공되는 대부분의 콘텐츠들은 시간이 지남에 따라 변경되지 않는 정적 콘텐츠로 구성되어 있어 이러한 콘텐츠를 캐싱하여 CDN의 여러 이점을 얻을 수 있습니다.
2-2. 동적 캐싱 (Dynamic Caching)
정적 캐싱과 달리사용자 요청이나 데이터의 정보를 기반으로 즉석에서 생성되는 동적 콘텐츠의 경우, 캐싱하더라도 Cache Hit가 높지 않아 캐싱의 이점을 얻기가 어렵습니다. 다만, 이러한 동적인 콘텐츠에 대해서도 CDN을 통해서 배포하게 되면 오리진 서버를 보호할 뿐만 아니라 캐시 서버와 오리진 서버 간의 빠른 통신을 통해 제공되어 보다 빠른 콘첸츠를 받을 수 있습니다.
B. CloudFront 개요
1. CloudFront란?
AWS 에서 제공하는 오리진 대상의 콘텐츠를 캐싱하여 짧은 지연 시간과 빠른 전송 속도로 전 세계 사용자에게 콘텐츠를 전송하는 CDN 서비스입니다.
2. CloudFront 아키텍쳐 예시
1. 오리진 서버 : AWS 서비스 중 EC2,ELB,S3가 오리진 대상이 될 수 있으며, 고객 데이터 센터 내 별도 서버도 가능합니다.
2. Distribution : 오리진과 엣지 로케이션 중간에서 콘텐츠를 배포하는 역할을 수행하는 CloudFront의 독립적인 단위입니다. HTTP(S) 전용의 Web Distribution 과 동영상 콘텐츠 전용의 RTMP Distribution으로 나누어 집니다.
3. 엣지 로케이션 : 오리진에서 Distribution을 통해 배포되는 콘텐츠를 캐싱하는 장치입니다. 큰 단위로 리전별 엣지 캐시가 존재하고 하위에 엣지 로케이션이 구성되어 콘텐츠를 캐싱합니다.
4. 보안 장치 : OSI 3/4 계층 DDoS를 완화하는 AWS Shield 및 OSI 7계층을 보호하는 AWS WAF와 원화라게 통합하여 보안을 강화합니다.
5. 도메인 구성 : Distribution을 생성하면 xxxxx.cloudfront.net 이라는 도메인 이름이 생성되며, 사용자는 해당 도메인 이름으로 접근이 가능합니다. 이 때 Route 53과 연결하여 사용자가 원하는 도메인 이름으로 별칭을 부여할 수도 있습니다.
6. 사용자 : 위 도메인 이름으로 접근하여 콘텐츠를 받을 수 있습니다.
3. CloudFront 주요 기능
- 전세계적인 인프라
- 정적/동적 콘텐츠 딜리버리
- SSL 지원
- 액세스 제어
- 보안
- 비용효율성
- 오류 복구
[용어/개념] 프로세스(Process) vs 쓰레드(Thread) 비교 정리