끄적끄적 아무기록

AWS_Route 53으로 다중 리전 장애 조치

by 현생사는갓생지망생
반응형

Route 53으로 다중 리전 장애 조치

 

자연재해와 같은 지역 차원의 문제로 장기간 리전 가용성이 저해될 수 있으므로

교차 리전 가용성 확보는 애플리케이션의 고가용성을 보장하는 핵심 요소가 된다.

Amazon Route 53으로 웹 애플리케이션 중단 시간을 최소화할 수 있다.


 

시나리오


본 실습에서는 교차 리전 재해 복구 시나리오를 구성하고 테스트한다.






이미 서로 다른 두 리전에 웹 애플리케이션이 배포되어 있다고 가정하고 다음을 수행한다.


1.  Amazon Route 53에 도메인을 구성하여 트래픽을 주 리전으로 전송한다.

2.  주 리전에 상태 확인을 구성한다. 상태 확인이 비정상이면 트래픽을 보조 리전으로 보낸다.

3.     주 리전의 인스턴스를 중지시켜 장애 조치 테스트를 수행한다.

 


 

목표


1. Route 53을 사용하여 웹 애플리케이션의 교차 리전 장애 조치를 구성한다.

2. Route 53 상태 확인을 통해 리소스의 상태를 파악한다.


 

작업 1: 환경 검사


이미 두 리전에 리소스가 배포되어 있다고 가정하고 주 리전의 리소스 검사로 실습을 시작한다.





52.78.218.51

AWS Management ConsoleServices 메뉴에서 EC2를 선택 후 왼쪽 탐색 창에서 Instances를 클릭한다.

Web-Application-1 인스턴스를 클릭한다.

이후 실습을 위해 IPv4 Public IP를 복사한다. 해당 IP는 주 웹 서버 IP 주소이다.

해당 인스턴스를 기본으로 가리키도록 도메인을 구성할 것이다.






화면 오른쪽 위에 표시된 Region을 메모한다. 해당 리전은 주 웹 서버의 리전이다.



다음으로 보조 리전의 리소스를 살펴볼 것이다. 다음 테이블에서 Secondary Region을 결정할 수 있다.






34.204.245.133

화면 오른쪽 위의 리전 풀다운 메뉴에서 보조 리전을 선택한다.

Web-Application-2 인스턴스를 클릭하고 IPv4 Public IP를 복사한다.

해당 IP는 보조 웹 서버 IP 주소이다.

주 웹 서버에 오류가 발생하면 해당 인스턴스를 가리키도록 도메인을 구성한다.

 



작업 2: 상태 확인 구성


주 웹 서버의 상태를 확인하는 상태 확인을 생성한다.

AWS에는 웹 사이트에 액세스할 수 있는지 테스트가 가능한 상태 확인 도구가 전 세계 여러 지역에 배치되어 있다.






Services 메뉴에서 Route 53을 클릭하고 왼쪽 탐색 창에서 Health checks를 클릭한다.

Create health check를 클릭한다.






Name : check-2

IP address : 주 웹 서버 IP 주소 입력







Advanced configuration을 확장한다.

Request interval : Fast(10 seconds)

Failure threshold : 2







설정을 완료하였다면 Create health check를 클릭한다.

이제 상태 확인이 주 웹 서버를 모니터링한다.





Health check가 생성되었다.

 



작업 3: Route 53에 도메인 구성


주 웹 서버와 보조 웹 서버를 가리키도록 도메인을 구성한다.





왼쪽 탐색 창에서 Hosted zones를 클릭하면 무작위 도메인이 생성되어 있다.

qwiklabs로 시작하는 도메인 이름을 클릭한다.






Go to Record Sets를 클릭한다.






Create Record Set을 클릭한다.






이제 주 웹 서버를 가리키는 DNS A-record를 생성한다. A-recordIP 주소를 반환하여 도메인 이름을 결정한다.

해당 레코드 세트를 앞서 생성한 상태 확인과 연결하여 주 웹 서버 상태

확인이 정상이면 주 웹 서버로만 트래픽을 보내도록 한다.

Name : www

Type : A – Ipv4 address

TTL(Seconds) : 60

Value : 주 웹 서버 IP 주소

Routing Policy : Failover

Failover Record Type : Primary

Associate with Health Check : Yes

Health Check to Associate : check-1






A 레코드가 표시된다.






이제 보조 웹 서버를 가리키는 A-record를 생성한다. 보조 웹 서버는 주 웹 서버 상태 확인이

비정상일 때 서비스를 넘겨받는 장애 조치 서버로 사용된다.

Name : www

Type : A – Ipv4 address

TTL(Seconds) : 60

Value : 보조 웹 서버 IP 주소

Routing Policy : Failover

Failover Record Type : Secondary

Associate with Health Check : No

세 번째 사이트가 없으므로 해당 레코드는 상태 확인과 연결하지 않는다.






A 레코드가 모두 생성되었고, 이제 상태 확인을 할 수 있다.






왼쪽 탐색 창에서 Health checks를 클릭하고 check-1을 선택한다.

Health checkers 탭을 클릭한다.

전 세계 여러 위치에서 독립적으로 상태 확인이 수행되며 각 위치에서는 10초마다 페이지를 요청한다.

check-1의 상태가 Healthy인지 확인한다.

이제 웹 애플리케이션이 두 리전 간에 장애 조치되도록 구성되었다.




작업 4: DNS 레졸루션 확인


DNS (Domain Name Service)를 쿼리하여 Amazon Route 53이 주 웹 서버로 트래픽을

제대로 보내는지 확인한다.





왼쪽 탐색 창에서 Hosted zones를 클릭하고 qwiklabs로 시작하는 도메인 이름을 선택한다.

Go to Record Sets를 클릭한다.






Test Record Set을 클릭한다.







Record name : www

Type : A

Get Response를 클릭한다.






DNS응답이 테스트되어 결과가 창의 오른쪽에 나타난다.

Response returned by Route 53의 값이 주 웹 서버 IP 주소와 같은지 확인한다.

도메인이 주 웹 서버의 IP 주소로 확인된다는 사실은 도메인에 대한 요청이 기본적으로 해당

웹 서버로 라우팅 된다는 의미이다.

 



작업 5: 장애 조치 테스트


주 웹 서버에 오류가 발생했을 때 정상적으로 Amazon Route 53이 보조 웹 서버로 장애 조치하는지 확인한다.

주 리전의 인스턴스를 수동으로 중단시켜 오류를 재현한다.





Services 메뉴에서 EC2를 클릭하고 오른쪽 위의 리전 드롭 다운 목록에서 primary region을 선택한다.

왼쪽 탐색 창에서 Instances를 클릭한다.

Web-Application-1을 오른쪽 클릭하고 Instance State > Stop을 차례로 클릭한다.






인스턴스 상태가 stopped로 변경될 때까지 기다린다.






Services 메뉴에서 Route 53을 클릭하고 왼쪽 탐색 창에서 Health checks를 클릭한다.






check-1 상태가 Unhealthy가 될 때까지 기다린다.

Health Check에서 주 웹 서버가 응답을 중지한 것을 감지했으니 이제 DNS 요청을

보조 웹 서버로 리다이렉션해야 한다.






왼쪽 탐색 창에서 Hosted zones를 클릭하고 도메인 이름을 클릭한다.

Go to Record Sets를 클릭한다.






Test Record Set을 클릭한다.







Record name : www

Type : A

Get Response를 클릭한다.





Response returned by Route 53의 값이 보조 웹 서버 IP 주소와 같은지 확인한다.

이제 기본 리전 서버에 장애가 발생하면 애플리케이션 환경이 기본 리전에서 보조 리전으로

장애 조치된다는 것을 확인하였다.

 








주 웹 서버를 다시 실행하고 상태 확인이 Healthy가 될 때까지 기다린 뒤 DNS 레졸루션이 다시

주 웹 서버를 가리키는지 확인한다. 이렇게 보조 웹 서버로 장애 조치된 뒤 주 웹 서버가 다시

정상으로 돌아오면 주 웹 서버로 failback되는 기능을 확인할 수 있다.


반응형

블로그의 정보

현생이네

현생사는갓생지망생

활동하기