[Route 53] Health Checks

IMKUNYOUNG·2024년 8월 21일
0

AWS-SAA

목록 보기
56/91

AWS Route 53을 이용해 고가용성을 구축할 때, 가장 중요한 요소 중 하나가 바로 상태 확인(Health Check)입니다. 상태 확인을 적절히 설정하면, 장애 발생 시 자동으로 트래픽을 정상적인 리소스로 우회할 수 있어 서비스 가용성을 높일 수 있습니다. 이번 글에서는 Route 53의 상태 확인 기능과 이를 활용해 공용 및 개인 리소스의 상태를 모니터링하는 방벙에 대해 알아보겠습니다.

Health Check란

AWS Route 53의 상태 확인은 웹 애플리케이션, 서버, 또는 다른 AWS 리소스의 가용성을 확인하는 중요한 기능입니다. 상태 확인을 통해 특정 리소스가 정상 작동 중인지 모니터링할 수 있으며, 이 정보를 바탕을 DNS 트래픽을 관리할 수 있습니다. 예를 들어, 하나의 리전이 장애로 인해 사용 불가능한 상태가 되면, Route 53은 해당 리전으로 트래픽을 보내지 않도록 자동으로 조정합니다.

공용 리소스에 대한 Health Check

공용 리소스에 대한 상태 확인은 주로 인터넷에서 접근 가능한 엔드포인트(예: 로드 밸런서, 웹 서버)등을 모니터링하는 데 사용됩니다. 이 상태 확인은 전 세계 여러 위치에서 엔드포인트로 HTTP, HTTPS, 또는 TCP 요청을 보내 리소스가 정상적으로 응답하는지 확인합니다. Route 53 상태 확인은 엔드포인트로부터 200 OK 응답 코드 또는 정의된 코드를 수신하면 리소스가 정상으로 간주됩니다.

상태 확인은 30초마다 또는 10초마다 주기적으로 요청을 보낼 수 있으며, 후자는 빠른 상태 확인(Quick Health Check)으로 비용이 더 들지만 더욱 빠르게 리소스 상태를 확인할 수 있습니다.

개인 리소스에 대한 Health Check

AWS VPC나 온프레미스와 같이 외부에서 직접 접근이 불가능한 개인 리소스에 대해서도 상태 확인을 설정할 수 있습니다. 이 경우, 공용 엔드포인트와 달리 Route 53 상태 확인은 리소스에 접근할 수 없기 때문에, CloudWatch 지표와 경보를 활용해 상태를 모니터링하는 방식으로 접근해야 합니다.

예를 들어, VPC 내부에 위치한 EC2 인스턴스의 CPU 사용률 또는 네트워크 트래픽과 같은 메트릭을 CloudWatch에서 수집하고, 특정 임계값을 초과하면 CloudWatch 경보를 트리거할 수 있습니다. 이 경보를 상태 확인에 연결하면, CloudWatch 알람이 트리거될 때 Route 53도 해당 리소스를 비정상 상태로 간주하게 됩니다. 이를 통해 개인 리소스의 상태 확인도 가능해집니다.

다중 리전을 활용한 고가용성 아키텍처

이제 실제 사례를 통해 다중 리전에서의 고가용성 아키텍처를 구축하는 방법을 살펴보겠습니다. 예를 들어, AWS의 두 리전(us-east-1과 eu-west-1)에 각각 하나씩 로드 밸런서가 있고, 그 뒤에서 애플리케이션이 작동 중이라고 가정해봅시다.

지연 시간 기반 레코드 설정

Route 53에서는 지연 시간 기반 레코드(Latency-based Record)를 설정하여, 사용자에게 가장 가까운 리전으로 트래픽을 라우팅할 수 있습니다. 예를 들어, 미국에 있는 사용자는 us-east-1 리전의 로드 밸런서로, 유럽에 있는 사용자는 eu-west-1 리전의 로드 밸런서로 연결됩니다.

상태 확인을 통한 장애 조치

그러나 한 리전이 장애 상태가 되어 사용 불가능한 경우, 여전히 해당 리전으로 트래픽을 보내고 싶지 않겠죠. 이를 해결하기 위해서는 상태 확인을 설정하고, 해당 리전이 비정상 상태일 때는 트래픽을 다른 정상 리전으로 라우팅하는 DNS 장애 조치(Failover)를 구현할 수 있습니다.

이 과정에서 각 리전의 로드 밸런서에 상태 확인을 설정하고, 이를 Route 53 레코드와 연결합니다. 상태 확인이 정상일 때만 해당 리전으로 트래픽이 전송되고, 비정상인 경우에는 자동으로 다른 리전으로 트래픽이 라우팅되도록 설정할 수 있습니다.

Calculated Health Check

Route 53에서는 여러 상태 확인 결과를 기반으로 하나의 상태 확인 결과를 생성하는 계산된 상태 확인(Calculated Health Check) 기능도 제공합니다. 예를 들어, 여러 EC2 인스턴스에 대해 각각 상태 확인을 생성한 후, 이 상태 확인들을 결합하여 전체 서비스의 상태를 모니터링할 수 있습니다.

계산된 상태 확인은 AND, OR, NOT 조건을 사용해 다양한 방식으로 설정할 수 있으며, 최대 256개의 상태 확인을 결합할 수 있습니다. 이 기능은 복잡한 고가용성 아키텍처에서 특정 조건에 따른 상태 확인을 설정하는 데 유용하게 사용됩니다.

Health Check의 유용한 기능

Route 53 상태 확인에는 몇 가지 유용한 기능이 포함되어 있습니다. 그 중 하나는 텍스트 기반 응답 확인입니다. 상태 확인은 HTTP 응답의 처음 5,120바이트를 검사하여 특정 텍스트가 포함되어 있는지 확인할 수 있습니다. 이를 통해 단순한 응답 코드뿐만 아니라 응답 내용까지도 확인할 수 있습니다.

또한, 상태 확인이 제대로 작동하기 위해서는 Route 53 상태 확인 IP 주소 범위에서 들어오는 요청을 허용해야 합니다. 이러한 IP 주소 범위는 AWS에서 제공하는 문서를 통해 확인할 수 있습니다.

마치며

AWS Route 53의 상태 확인 기능을 활용하면 공용 및 개인 리소스의 가용성을 모니터링하고, 장애 발생 시 자동으로 트래픽을 우회시켜 고가용성을 보장할 수 있습니다. 특히, 다중 리전 아키텍처에서 상태 확인을 적절히 구성하면, 서비스의 신뢰성과 복원력을 크게 향상시킬 수 있습니다.

1개의 댓글

comment-user-thumbnail
2024년 9월 21일

To learn ,how to buy wegovy start by consulting a healthcare provider, as this medication requires a prescription. After getting a prescription, you can purchase Wegovy from local pharmacies or trusted online platforms. Always ensure the pharmacy is reputable to avoid counterfeit products. Some insurance plans may cover the cost, so check with your provider for potential savings. Follow the recommended dosage and guidelines from your healthcare professional.

답글 달기