AWS

AWS: Route53 - ALB - VPC - EC2 실습

무엇을해야하는지 2025. 3. 18. 22:36

오늘은 Route 53과 로드밸런서에 대해 개념도 정리할겸 직접 서비스 앞단의 구조를 만들어보기로 했다. 

또 얼마전에 강의를 들으면서 Route 53 DNS의 routing 방법도 몇가지 직접 해보면서 공부하고자 시작했다.

 

서론: 아키텍쳐

총 두가지로 로드 밸런싱을 진행할 예정이다. 

 

a. 로드밸런서 아키텍쳐

순서를 설명해보자면 DNS -> ALB -> EC2 와 같은 순서로 로드밸런싱을 해줄 예정이다.

 

b. Route 53을 활용한 라우팅 아키텍쳐

 

이번 아키텍쳐는 Load Balancer가 없지만 Route53의 라우팅 방식을 통해 라우팅을 분산시킬 예정이다.

 

본문: 실습

1. Route53+ALB+VPC+EC2

 

a. EC2 준비

일단 가장 먼저 EC2 두개를 특정 VPC에 만들어줬다.

 

그리고 나중에 로드밸런싱이 잘 되고 있는지 확인을 해주기 위해 EC2에 아파치 웹서버를 만들고 간단한 HTML도 만들어줬다. 

 

그래서 특정 ec2의 80(웹서버 포트)로 접근을 하면 아래와 같이 뜨는걸 볼 수 있다.

WebServer1
WebServer2

 

이렇게 서로 다른 HTML를 만들었기 때문에 앞으로 새로고침하면서 로드 밸런싱이 잘되고 있는지 알 수 있다.

 

b. 로드 밸런서

그럼 이제 EC2는 준비가 됐고 이 두 ec2를 적절하게 로드밸런싱해줄 로드밸런서만 있으면 된다. 

 

당연히 기본적인 Application Loadbalancer로 만들어 주면 되는데, 이때 까먹지말고 해야할게 EC2 두개를 하나의 타겟그룹안에 묶어주는 것이다. 

이제 MyTargetGroup 내에 있는 Ec2들로 로드밸런서가 로드 밸런싱 해줄 것이다. 

 

1차 확인

 

여기서 이제 로드밸런서의 public IP로 접근해서 EC2로 잘 라우팅 되는지, 또 번갈아가면서 뜨는지 확인해주면 된다.

나는 확인했을때 WebServer 1,2가 번갈아 가면서 뜨는 걸 확인할 수 있었다.

C. Route53

이제 마지막으로 로드밸런서에 DNS를 붙여주면 된다.

먼저 내가 사용하려는 DNS가 사용가능한지 확인하고

 

호스팅 영역을 생성해주면 된다.

그렇게 되면 처음에 레코드 2개가 자동 생성된다. 

 

이제 우리는 이 도메인에 로드밸런서를 붙여주기 위해 레코드 type A 를 만들어주면 된다. 다음과 같이 ALB로 라우팅 될 수 있도록 Alias를 설정해주면 끝!

 


결론적으로는 다음과 같은 플로우로 작동을 하게 된다.

 

1. 사용자가 DNS 접근

2. DNS -> lookup(연결되어 있는 IP를 찾는다)

3. 찾은 IP를 반환해주고 이는 로드밸런서의 퍼블릭 IP가 된다.

4. 이제 규칙에 알맞게(AWS ALB는 기본적으로 라운드로빈 방식을 따른다) 로드 밸런싱을 해주게 된다.

 

여기까지가 기본적인 실습이었는데 너무 길다.. Route53을 이용한 라우팅은 다음 포스팅에 이어서 해보고자 한다.