devops

AWS의 CloudFront & Route 53 본문

DevOps/AWS

AWS의 CloudFront & Route 53

vata500 2022. 5. 20. 12:05
반응형

CloudFront

전 세계 유명 이동통신사와 협력하여 구축한 글로벌 CDN(Content Delivery Network) 서비스다. 저지연성과 고속전송 속성을 지닌 콘텐츠 배포 기능을 제공한다. 컨텐츠 사용자와 가까운 지역에 네트워크 망을 구축하고 캐시를 통해 최적화된 사용자 경험을 제공한다. 심지어 정적 컨텐츠와 더불어 동적 컨텐츠도 지원한다.

CloudFront 핵심 개념

엣지 로케이션이라고 불리는 글로벌 데이터센터 네트워크를 통해서 컨텐츠를 배포한다. 엣지 로케이션은 전 세계 주요 대도시에 위치하며, AWS Region와는 다를 수 있다.

지역별 엑지 캐시는 오리진 웹 서버와 엣지 로케이션 사이에 위치하여 유저에게 직접 컨텐츠를 전송한다. 특정 컨텐츠의 인기가 줄어들면 엣지 로케이션에서는 해당 객체를 삭제하고 인기가 많은 컨텐츠를 제공할 여유 공간을 확보한다.

CloudFront 활용 시나리오

- 정적 컨텐츠 캐싱, 사진 영상 등의 전송 속도를 높일 수 있따.

- 동적 컨텐츠는 네트워크 최적화를 통해서 가속화 기능을 제공한다. EC2 서버에서 실행 중인 application 혹은 web은 Cloudfront와 통합할 수 있다.

- DDoS 공격을 방어할 수 있따. TLS 연결 및 서명 URL을 통해서 사용자 인증 기능을 제공한다.

- SSL(HTTPS) 방식의 보안 기능을 제공한다.

CloudFront 적용 방식

경로 패턴 매칭

web, app의 URL 경로 패턴에 따라서 다양한 캐시 제어 동작을 설정할 수 있다. 

헤더

헤더 값을 통해서 요청 헤더를 오리진 캐시로 포워딩 할 수 있다. 즉, 디바이스의 헤더를 확인하여 그에 맞는 동작을 적용한다.

쿼리 문자열 및 쿠키

웹 app 일부는 오리진으로 정보를 전달하기 위해 쿼리 문자열을 활용한다

서명 URL 및 서명 쿠키

정적 컨텐츠를 S3 버킷에 옮기면 서명 URL을 활용해 해당 컨텐츠의 비인가 접근을 막을 수 있다. 서명 쿠키는 서명 URL과 거의 동일하며 HTTP 쿠키에 추가 정보를 넣는다는 것이 다르다.

지역 제한 기능

접속 허용 국가목록(화이트리스트)를 기반으로 컨텐츠 접근을 허용하거나, 접속 금지 국각목록(블랙리스트)를 기반으로 접근을 거절할 수 있다.

오류 처리 기능

컨텐츠 요청에 대해 오리진 서버가 HTTP 4xx, 5xx 상태 코드를 반환하면 사용자에게 커스텀 오류 페이지를 제공할 수 있다.


Route 53

관리형 DNS 서비스다. Route53은 사용자 요청을 EC2 인스턴스, ELB  밸런서, S3 버킷 등 AWS 인프라에 연결시키거나 AWS 외부 인프라에도 연결해준다.

Route 53은 Region과 독립적으로 작동한다. 그래서 다수의 리전을 교차해 연결가능하다. 또한 DNS 기록 관리 외에도 도메인 등록, 신규 도메인을 위한 DNS 생성, 기존 도메인에 DNS 기록 전송 등 다양한 기능을 제공한다.

Route 53이 지원하는 DNS 기록 타입 리스트

  • A(주소기록)
  • AAAA(IPv6 주소기록)
  • CNAME(캐노니컬 네임 기록)
  • CAA(인증 권한 증명)
  • MX(메일 교환 기록)
  • NAPTR(네임 권한 포인터 기록)
  • NS(네임 서버 기록)
  • PTR(포인터 기록)
  • SOA(권한 시작 기록)

지원하는 라우팅 정책

1) 가중치 라운드 로빈

하나의 웹사이트를 위한 여러 대의 웹서버처럼 동일 기능을 수행하는 여러개의 리소스를 보유한다면 Route 53을 이용하여 리소스 별로 트래픽을 분산시킬 수 있다. 

2) 지연 기반 라우팅

동일한 기능을 수행하는 여러 EC2 기반 데이터센터에 리소스를 확보하고 있으면 특정 리소스에 대한 DNS 쿼리 요청시 Route 53을 이용해 신속하게 응답하는 방법이다.

3) 장애 대응 라우팅

특정 Rigion에서 모든 리소스를 제공하고 있는데 해당 리전에 장애가 발생 시 장애 대응 라우팅을 작동시켜 정상적으로 작동 중인 Rigion으로 트래픽을 라우팅한다.

4) 지역 DNS 라우팅

유저 지역에 따라 DNS 쿼리에 응답하도록 하려면 지역 DNS 라우팅을 이용한다. 지역에 특화된 컨텐츠 서비스를 제공하거나 특정 지역에서 금지 규정이 있는 컨텐츠는 배포하지 않도록 설정할 수 있다.

 

 

반응형

'DevOps > AWS' 카테고리의 다른 글

220520 - RDS  (0) 2022.05.20
VPC(Virtual Private Cloud), Subnet(Sub Network)  (0) 2022.05.20
AWS - Auto Scaling Group & Elastic Load Balancing  (0) 2022.05.20
AWS의 RDS(Relational Database Service)  (0) 2022.05.19
AWS Storage - EBS, EFS 간단 정리  (0) 2022.05.19
Comments