티스토리 뷰
CloudFront?
- AWS에서 제공하는 CDN(콘텐츠 전송 네트워크) 서비스
- CDN?
- 클라이언트가 콘텐츠를 요청할 때 원본 데이터를 가진 오리진 서버가 응답을 주는 대신 클라이언트와 더 가까운 곳에 존재하는 CDN 서버가 대신 응답을 주기 때문에 더 빠른 속도로 콘텐츠를 전달할 수 있다.
- 오리진 서버에 갈 요청을 CDN 서버들이 분산해서 처리하기 때문에 오리진 서버에 대한 트래픽이나 부하도 줄일 수 있다.
- CDN?
오리진 서버 : 콘텐츠 원본 데이터를 가진 서버
ex) S3, HTTP 웹 서버 등
- CloudFront는 엣지 로케이션이라고 하는 데이터 센터의 전 세계 네트워크를 통해 콘텐츠를 제공한다. CloudFront를 통해 서비스하는 콘텐츠를 사용자가 요청하면 지연 시간이 가장 낮은 엣지 로케이션으로 요청이 라우팅되므로 가능한 최고의 성능으로 콘텐츠가 제공된다.
- 콘텐츠가 이미 지연 시간이 낮은 엣지 로케이션에 있는 경우 CloudFront가 콘텐츠를 즉시 제공한다.
- 콘텐츠가 엣지 로케이션에 없는 경우 콘텐츠의 최종 버전에 대한 소스로 지정된 오리진 서버에서 콘텐츠를 검색한다.
- CloudFront는 S3를 오리진 서버로 둬서 이미지, js같은 정적 파일부터 동영상 스트리밍과 같은 콘텐츠도 전달할 수 있다.
콘텐츠를 전송하도록 CloudFront를 구성하는 방법
- S3 버킷 또는 HTTP 서버와 같은 오리진 서버를 지정하고 CloudFront는 오리진 서버의 파일을 가져온 다음 전 세계 CloudFront 엣지 로케이션에 배포한다.
- 오리진 서버에 파일을 업로드한다. S3 버킷을 오리진 서버로 사용할 경우 버킷에 있는 오브젝트를 공개적으로 읽을 수 있는 상태로 만들 수 있으므로 오브젝트의 CloudFront URL을 아는 사람이라면 누구나 액세스할 수 있다. (오브젝트를 비공개로 유지하고 액세스할 수 있는 사용자를 제어할 수 있는 SignedURL(또는 SignedCookie)을 생성할 수도 있다.)
- 사용자가 웹 사이트나 애플리케이션을 통해 파일을 요청할 경우 어떤 오리진 서버에 파일을 가져올지 알려주는 CloudFront 배포를 만든다. 동시에 CloudFront에서 모든 요청을 기록할지, 배포를 만들자마자 활성화할지 여부와 같은 세부사항을 설정한다.
- CloudFront는 새 배포에 도메인 이름을 할당한다(CloudFront 콘솔 또는 API 요청에 대한 응답으로 확인 가능)
- CloudFront에서는 배포의 구성을 모든 해당 엣지 로케이션 또는 CloudFront가 파일의 사본을 캐싱하는 분산된 데이터 센터의 POP(Point of Presence) 서버 모음으로 보낸다.
웹 사이트 또는 애플리케이션을 개발할 경우 CloudFront가 URL에 제공하는 도메인 이름을 사용할 수 있다.
- 배포 도메인 + S3 콘텐츠 경로
- ex) 배포 도메인 이름이
d111111abcdef8.cloudfront.net
일 경우, S3에 있는logo.jpg
의 URL은http://d111111abcdef8.cloudfront.net/logo.jpg
가 된다.
참고자료
'Infra' 카테고리의 다른 글
GitHub Actions 시작하기 - 구성요소 (0) | 2024.04.07 |
---|---|
[Network] 로드밸런서를 쓰는 이유, 기능 정리 (0) | 2021.05.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 정규경로
- getCanonicalPath
- hls.js
- AOP
- 다이나믹프록시
- 그런RESTAPI로괜찮은가
- websocket handshake
- java8 stream
- opencsv
- MPEG-2 TS
- file
- 문자열인코딩과 문자집합의 차이
- FileNameFilter
- github actions 구성요소
- Longest Consecutive Sequence
- 정규표현식 패턴
- HtmlUtils
- 특수문자 치환
- github actions 기초
- csv to bean
- getAbsolutePath와
- 코프링
- CGLIB프록시
- sockjs
- getPath
- self-descriptive
- Best Time to Buy and Sell Stock
- 정규표현식 플래그
- csv 라이브러리
- github actions components
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함