CloudFront
- CloudFront은 컨텐츠 전송 네트워크 -> Content Delivery Network(CDN)
- 서로 다른 엣지 로케이션에 미리 캐싱하여 읽기 성능을 높이는 것이다.
- 컨텐츠가 네트워크 전체에 캐싱되므로 전 세계 사용자들이 낮은 레이턴시로 접근할 수 있어서 사용자 경험을 증대시킬 수 있다.
- 컨텐츠가 전체적으로 분산되어 있어, DDoS 공격에서 보호를 받을 수 있다.
- 그 외에도 Shield 와 Web Application Firewall 이 잇다.
- AWS 엣지 지도를 보면, 전 세계에 있는 AWS 엣지와 엣지 캐쉬 분포를 볼 수 있다.
- 가령 호주에 위치한 S3 버킷에 웹사이트를 만들었다 하더라도 미국에 있는 사용자는 CloudFront 를 이용해 미국에 있는 엣지에 컨텐츠를 요청하게 된다.
-> 그럼 CloudFront 가 호주에서 이 컨텐츠를 패치해서 가져오게 된다.
- CloudFront 의 원본 제공 방식은 먼저 S3 버킷으로 CloudFront 를 통해 파일을 분산하고 캐싱할 수 있게 한다.
- 버킷에는 CloudFront 만 접근할 수 있게 보장하는데, 이를 가능하게 하는 것이 OAC 라 불리는 Origin Access Control 로 기존의 OAI 를 대체한다
- CloudFront 를 통해 버킷에 데이터를 보내는 방법도 가능한데, 이를 Ingress 라고 한다.
- 또 다른 방법으로 Custom Origin (HTTP) 사용자 정의 원본을 쓸 수 있다. -> EC2, S3, ALB
- S3 웹사이트의 경우 버킷을 활성화해서 정적 웹사이트로 설정해야 한다. 그 외의 다른 HTTP 백엔드도 가능하다.
- CloudFront 의 작업 방식은 엣지가 있고, 여기에 연결할 원본이 있다. -> s3 버킷에나 HTTP 서버이다.
- 캐싱 되어 있지 않을 경우에는, 원본으로 가서 요청 결과를 가져온다. 그리고 결과를 가져오면서 이를 로컬 캐시에 저장을 해서 다른 클라이언트가 같은 컨텐츠를 같은 엣지에 요청할 시 사용한다. -> 이러면 원본을 다시 가욜 필요가 없다.
S3 를 원본으로 사용할때
- AWS 클라우드의 어떤 리전에 있는 S3 버킷이 원본일 것이다. 그리고 전 세계의 엣지 로케이션이 있을 것이고, 해당 엣지에 접근하는 사용자는 엣지가 직접 컨텐츠를 제공하게 된다.
- 하지만 먼저 내부 AWS 망을 통해 S3 버킷 원본을 받아올것이다
- 그리고 이 버킷은 OAS 로 보호받으며, S3 버킷 정책에 의해서만 수정할 수 있다.
- 이렇게 CloudFront 와 Edge Location 을 이용해, 특정 리전에 속한 S3 버킷을 전 세계의 엣지 로케이션으로 분산 시킬 수 있다.
'AWS' 카테고리의 다른 글
What is Amazon FSx? (0) | 2024.10.21 |
---|---|
What is Global Accelerator? (2) | 2024.10.21 |
Amazon S3 (2) | 2024.10.19 |
DNS , Route 53, 레코드 (1) | 2024.10.18 |
RDS 와 Aurora 의 보안, RDS Proxy, ElastiCache (0) | 2024.10.17 |