카테고리 없음

AWS ELB에서 포트 상태 확인하는 방법: Health Check 설정 가이드

idea9329 2024. 10. 7. 10:59
반응형
 

AWS ELB (Elastic Load Balancer)에서 특정 인스턴스의 포트가 살아있는지(정상적으로 동작 중인지)를 체크하는 방법은 Health Check 기능을 사용하는 것입니다. Health Check는 지정된 포트와 프로토콜(HTTP, HTTPS, TCP 등)을 통해 인스턴스 상태를 모니터링하며, 비정상 상태의 인스턴스는 ELB에서 자동으로 트래픽을 라우팅하지 않게 처리합니다.

AWS ELB에서 포트 상태 확인을 위한 Health Check 설정 방법

  1. ELB 생성 및 인스턴스 등록:
    • 먼저 ELB에 인스턴스를 등록해야 합니다. ELB 콘솔에서 새로운 ELB를 생성하거나 기존 ELB에서 인스턴스를 등록합니다.
  2. Health Check 설정:
    • ELB 설정 중 Health Check 단계에서 포트와 프로토콜을 설정합니다. ELB는 해당 포트에 정기적으로 요청을 보내 인스턴스의 상태를 확인합니다.

TCP 기반 포트만 체크하는 방법 (프로토콜에 HTTP를 사용하지 않는 경우)

TCP 프로토콜을 사용하여 단순히 포트가 열려 있는지 확인하려면, Health Check의 프로토콜을 TCP로 설정하면 됩니다.

1. Health Check 프로토콜 설정:

  • Health Check Protocol: TCP
  • Health Check Port: 확인하고자 하는 포트 (예: 8080)

예시로, 특정 인스턴스에서 8080 포트가 열려 있는지 확인하려면, 아래와 같이 설정하면 됩니다:

  • Protocol: TCP
  • Port: 8080

ELB는 TCP 연결이 성공하면 해당 인스턴스가 "Healthy"로 간주하고, 연결이 실패하면 "Unhealthy"로 간주하여 트래픽을 차단합니다.

2. Health Check의 설정 파라미터:

  • Healthy threshold: 인스턴스가 정상으로 간주되기 전에 Health Check에서 성공해야 하는 시도 횟수입니다.
  • Unhealthy threshold: 인스턴스가 비정상으로 간주되기 전에 Health Check에서 실패해야 하는 시도 횟수입니다.
  • Timeout: Health Check 요청에 대해 응답을 기다리는 시간입니다.
  • Interval: Health Check를 반복하는 시간 간격입니다.

HTTP/HTTPS 기반 포트 확인 (TCP와 다르게 HTTP 상태 코드 확인 가능)

HTTP 또는 HTTPS 요청을 통해 포트뿐만 아니라 웹 애플리케이션의 상태도 함께 체크하고자 할 경우, Health Check 프로토콜을 HTTP 또는 HTTPS로 설정할 수 있습니다.

1. Health Check 프로토콜 설정:

  • Health Check Protocol: HTTP 또는 HTTPS
  • Health Check Path: /healthcheck (애플리케이션에서 상태 확인을 위한 엔드포인트)
  • Port: 확인하고자 하는 포트 (예: 80 또는 443)

2. HTTP/HTTPS 방식으로는 특정 경로의 HTTP 상태 코드도 확인할 수 있습니다. 예를 들어, /healthcheck 경로에서 200 OK 응답을 받을 경우 인스턴스가 "Healthy"로 간주됩니다.

마무리

AWS ELB의 Health Check 기능을 사용하여 특정 포트가 정상적으로 동작하는지 확인하고, 문제가 있는 인스턴스에는 트래픽을 보내지 않도록 설정할 수 있습니다. Health Check를 TCP로 설정하면 단순 포트 확인만 가능하고, HTTP/HTTPS로 설정하면 포트와 웹 애플리케이션 상태를 동시에 확인할 수 있습니다.

이를 통해 인프라의 가용성을 더욱 높일 수 있습니다.

반응형