본문 바로가기
AWS/Cloud Practitioner

고객이 AWS인프라와 상호 작용하는 방법(= 글로벌 네트워킹) DNS, CDN

by kiimy 2022. 4. 24.
728x90

AWS에서 호스팅하는 웹사이트가 있다면 고객은 대부분의 경우 자신의 브라우저에서 여러분의 웹사이트로 들어간 다음 Enter 키를 누릅니다. 그러면 웹이 열립니다.

How?

Route 53

- AWS Domain Name Service, DNS로 가용성과 확장성이 뛰어납니다.

- 개발자와 비즈니스가 최종 사용자를 AWS에서 호스팅되는 인터넷 애플리케이션으로 라우팅할 수 있는 안정적인 방법을 제공

- 번역 서비스라고 생각하면 됩니다. 하지만 언어를 번역하는 대신 웹사이트 이름을 컴퓨터가 읽을 수 있는 주소인 IP, 즉 인터넷 프로토콜로 번역하죠.

- Amazon Route 53는 사용자 요청을 AWS에서 실행되는 인프라(예: Amazon EC2 인스턴스 및 로드 밸런서)에 연결합니다. 또한 사용자를 AWS 외부의 인프라로 라우팅할 수 있습니다.

 

<예시>

예를 들어 웹사이트 주소를 브라우저에 입력하면 Route 53를 통해 사이트의 IP 주소, 예를 들어 192.1.1.1을 얻은 다음 컴퓨터나 브라우저를 이 주소로 라우팅합니다. 나아가 Route 53는 트래픽 <지연 시간 기반 라우팅, 지리적 위치 DNS, 지역 근접성, 가중치 기반 라운드 로빈> 같은 다양한 라우팅 정책을 사용하여 서로 다른 엔드포인트로 보낼 수 있습니다. 지리적 위치 DNS를 사용한다면 트래픽을 고객 위치 기준으로 전달하게 됩니다. 예를 들어 북미에서 오는 트래픽이 오리건 리전으로 라우팅되고 아일랜드의 트래픽이 더블린 리전으로 라우팅되는 식이죠.

Amazon CloudFront, CDN

- 웹사이트 자산을 고객에게 전달하는 속도를 높여주는 서비스

- 엣지 로케이션은 고객과 최대한 가까운 곳으로 콘텐츠를 제공합니다. 그리고 이를 담당하는 요소 중 하나가 콘텐츠 전송 네트워크, 즉 CDN입니다.

 

<예시>

북미와 아일랜드를 비교한 사례로 돌아가 시애틀에 있는 사용자가 한 웹사이트에 액세스하길 원한다고 가정해봅시다. 속도를 높이기 위해 우리는 사이트를 오리건주에서 호스팅하고 이미지나 GIF 같은 정적 웹 자산을 북미의 CloudFront에 배포합니다. 이렇게 하면 사용자는 최대한 가까운 곳에서 콘텐츠를 전달받게 됩니다. 이 경우에는 사이트에 접속했을 때 북미였죠. 하지만 아일랜드 사용자에게는 자산을 오리건주에서 전달해선 안 됩니다. 지연 시간이 이상적이지 않기 때문입니다. 그래서 동일한 정적 자산을 CloudFront에 배포하지만 이번에는 더블린 리전에 배포합니다. 따라서 아일랜드 사용자는 같은 콘텐츠를 자신과 가까운 곳에서 받게 되며 결과적으로 지연 시간이 개선됩니다.

= CloudFront를 사용하여 실제 소비자와 더 가까운 곳에서 콘텐츠를 캐싱하는 방법

 

Amazon Route 53 및 Amazon CloudFront가 콘텐츠를 전송하는 방식

AnyCompany의 애플리케이션이 여러 Amazon EC2 인스턴스에서 실행 중이라고 가정하겠습니다. 이러한 인스턴스는 Application Load Balancer에 연결되는 Auto Scaling 그룹에 포함되어 있습니다. 

1. 고객이 AnyCompany의 웹 사이트로 이동하여 애플리케이션에서 데이터를 요청합니다.
2. Amazon Route 53는 DNS 확인을 사용하여 AnyCompany.com의 IP 주소인 192.0.2.0을 식별합니다. 이 정보는 고객에게 다시 전송됩니다. 
3. 고객의 요청은 Amazon CloudFront를 통해 가장 가까운 엣지 로케이션으로 전송됩니다.
4. Amazon CloudFront는 수신 패킷을 Amazon EC2 인스턴스로 전송하는 Application Load Balancer에 연결됩니다.
728x90

댓글