대상 그룹에 대한 상태 확인 - Elastic Load Balancing

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

대상 그룹에 대한 상태 확인

하나 이상의 대상 그룹에 대상을 등록합니다. 등록 과정이 완료되는 즉시, Gateway Load Balancer는 새로 등록된 대상으로 요청을 라우팅하기 시작합니다. 등록 프로세스가 완료되고 상태 확인이 시작되는 데 몇 분 정도 걸릴 수 있습니다.

Gateway Load Balancer는 주기적으로 각 등록된 대상에 요청을 전송하여 상태를 확인합니다. 각각의 상태 확인이 완료되고 나면 Gateway Load Balancer는 상태 확인을 위해 설정된 연결을 종료합니다.

상태 확인 설정

다음 설정을 사용하여 대상 그룹에서 대상에 대한 능동 상태 확인을 구성합니다. 상태 확인이 지정된 UnhealthyThresholdCount연속 실패 횟수를 초과할 경우 Gateway Load Balancer는 대상을 서비스 중단시킵니다. 상태 확인이 지정된 HealthyThresholdCount연속 성공 횟수를 초과하면 Gateway Load Balancer는 대상을 다시 서비스 상태로 전환합니다.

설정 설명

HealthCheckProtocol

대상에 대한 상태 확인을 수행할 때 로드 밸런서가 사용하는 프로토콜입니다. HTTP, HTTPS, TCP 프로토콜이 여기에 해당됩니다. 기본값은 TCP입니다.

HealthCheckPort

대상에 대한 상태 확인을 수행할 때 Gateway Load Balancer가 사용하는 포트입니다. 범위는 1~65535입니다. 기본값은 80입니다.

HealthCheckPath

[HTTP/HTTPS 상태 점검] 상태 점검 대상의 대상인 상태 점검 경로입니다. 기본값은 /입니다.

HealthCheckTimeoutSeconds

상태 확인 실패를 의미하는 대상으로부터 응답이 없는 기간(초 단위)입니다. 범위는 2~120입니다. 기본값은 5입니다.

HealthCheckIntervalSeconds

개별 인스턴스의 상태 확인 간의 대략적인 간격(초 단위)입니다. 범위는 5~300입니다. 기본값은 10초입니다. 이 값은 다음보다 크거나 같아야 합니다. HealthCheckTimeoutSeconds

중요

Gateway Load Balancer에 대한 상태 확인이 배포되고 합의 메커니즘을 사용하여 대상 상태를 확인합니다. 따라서 대상 어플라이언스는 구성된 시간 간격 내에 여러 번의 상태 확인을 받을 것입니다.

HealthyThresholdCount

비정상 상태의 대상을 정상으로 간주하기까지 필요한 연속적인 상태 확인 성공 횟수입니다. 범위는 2~10회입니다. 기본값은 5입니다.

UnhealthyThresholdCount

대상을 비정상 상태로 간주하기까지 필요한 연속적인 상태 확인 실패 횟수입니다. 범위는 2~10회입니다. 기본값은 2입니다.

Matcher

[HTTP/HTTPS 상태 확인] 대상으로부터 응답 성공을 확인할 때 사용하는 HTTP 코드입니다. 이 값은 200~399이어야 합니다.

대상 상태

Gateway Load Balancer가 대상으로 상태 확인 요청을 전송할 수 있으려면 먼저 대상 그룹에 이를 등록하고 리스너 규칙에서 대상 그룹을 지정한 다음, Gateway Load Balancer에서 대상의 가용 영역을 활성화해야 합니다.

다음 표에는 등록 대상의 상태로 가능한 값이 나와 있습니다.

설명

initial

Gateway Load Balancer에서는 대상 등록이나 대상에 대해 초기 상태 확인이 진행 중에 있습니다.

관련 사유 코드: Elb.RegistrationInProgress | Elb.InitialHealthChecking

healthy

대상이 정상 상태입니다.

관련 사유 코드: 없음

unhealthy

대상이 상태 확인에 응답하지 않았거나 상태 확인에 실패했습니다.

관련 사유 코드: Target.FailedHealthChecks

unused

대상이 대상 그룹에 등록되어 있지 않거나, 대상 그룹이 리스너 규칙에서 사용되지 않거나, 대상이 활성화되지 않은 가용 영역에 있거나, 대상이 중지 상태 또는 종료 상태입니다.

관련 사유 코드: Target.NotRegistered | Target.NotInUse | Target.InvalidState | Target.IpUnusable

draining

대상이 등록 취소되고 있으며 Connection Draining이 진행 중입니다.

관련 사유 코드: Target.DeregistrationInProgress

unavailable

대상 상태를 확인할 수 없습니다.

관련 사유 코드: Elb.InternalError

상태 확인 사유 코드

대상의 상태가 Healthy 이외의 값인 경우에는 API가 문제에 대한 사유 코드와 설명을 반환하고 콘솔이 동일한 설명을 표시합니다. Elb로 시작되는 사유 코드는 Gateway Load Balancer 측에서 호출되고, Target으로 시작되는 사유 코드는 대상 측에서 호출됩니다.

사유 코드 설명

Elb.InitialHealthChecking

초기 상태 확인이 진행 중

Elb.InternalError

내부 오류로 인한 상태 확인 실패

Elb.RegistrationInProgress

대상 등록이 진행 중

Target.DeregistrationInProgress

대상 등록 취소가 진행 중

Target.FailedHealthChecks

상태 확인 실패

Target.InvalidState

대상이 중지 상태에 있음

대상이 종료 상태에 있음

대상이 종료 또는 중지 상태에 있음

대상이 잘못된 상태에 있음

Target.IpUnusable

로드 밸런서에서 사용 중인 IP 주소이므로 대상으로 사용할 수 없음

Target.NotInUse

대상 그룹이 Gateway Load Balancer에서 트래픽을 수신하도록 구성되지 않음

대상이 Gateway Load Balancer에서 활성화되지 않은 가용 영역에 있음

Target.NotRegistered

대상이 대상 그룹에 등록되지 않음

Gateway Load Balancer 대상 실패 시나리오

기존 흐름: 기본적으로 기존 흐름은 대상의 상태 및 등록 상태에 관계없이 흐름 제한 시간이 초과되거나 재설정되지 않는 한 동일한 대상으로 이동합니다. 이 접근 방식은 Connection Draining을 용이하게 하고 CPU 사용량이 많아 상태 확인에 응답하지 못하는 타사 방화벽을 수용합니다. 자세한 내용은 대상 장애 조치를 참조하십시오.

새 흐름: 새 흐름은 정상 대상으로 전송됩니다. 흐름에 대한 로드 밸런싱 결정이 내려지면 Gateway Load Balancer는 대상이 비정상이 되거나 다른 대상이 정상이 되더라도 동일한 대상으로 흐름을 보냅니다.

모든 대상이 비정상인 경우 Gateway Load Balancer는 대상을 무작위로 선택하여 재설정되거나 제한 시간이 초과될 때까지 흐름 수명 기간 동안 해당 대상에 트래픽을 전달합니다. 트래픽이 비정상 대상으로 전달되기 때문에 해당 대상이 다시 정상이 될 때까지 트래픽이 삭제됩니다.

TLS 1.3: 대상 그룹이 HTTPS 상태 확인으로 구성된 경우, 등록된 대상은 TLS 1.3만 지원하는 경우 상태 확인에 실패합니다. 이러한 대상은 TLS 1.2와 같은 이전 버전의 TLS를 지원해야 합니다.

교차 영역 로드 밸런싱: 기본적으로 가용 영역 간 로드 밸런싱은 비활성화됩니다. 교차 영역 로드 밸런싱이 활성화된 경우 각 Gateway Load Balancer는 모든 가용 영역의 모든 대상을 볼 수 있으며 영역에 관계없이 모두 동일하게 취급됩니다.

로드 밸런싱과 상태 확인 결정은 항상 영역 간에 독립적입니다. 교차 영역 로드 밸런싱이 활성화된 경우에도 기존 흐름과 새 흐름의 동작은 위에서 설명한 것과 동일합니다. 자세한 내용은 Elastic Load Balancing 사용 설명서교차 영역 로드 밸런싱을 참조하세요.

대상의 상태 확인

대상 그룹에 등록된 대상의 상태를 확인할 수 있습니다.

콘솔을 사용하여 대상의 상태를 확인하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 Load Balancing 아래에서 대상 그룹을 선택합니다.

  3. 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.

  4. 대상 탭에서 상태 열은 각 대상의 상태를 나타냅니다.

  5. 대상 상태가 Healthy 이외의 값인 경우 상태 세부 정보(Status details) 열에 자세한 정보가 포함됩니다.

를 사용하여 대상의 상태를 확인하려면 AWS CLI

describe-target-health 명령을 사용합니다. 이 명령의 출력 화면에는 대상 상태 설명이 포함됩니다. 상태가 Healthy 이외의 값인 경우에는 화면에 사유 코드도 포함됩니다.

비정상 대상에 대한 이메일 알림을 받으려면

CloudWatch 경보를 사용하여 Lambda 함수를 트리거하여 비정상 대상에 대한 세부 정보를 전송합니다. step-by-step 지침은 다음 블로그 게시물을 참조하십시오. 로드 밸런서의 비정상 대상 식별.

상태 확인 수정

대상 그룹에 대한 일부 상태 확인 설정을 변경할 수 있습니다.

콘솔을 사용하여 대상 그룹의 상태 확인 설정을 변경하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 Load Balancing 아래에서 대상 그룹을 선택합니다.

  3. 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.

  4. 그룹 세부 정보 탭의 상태 확인 설정 섹션에서 편집을 선택합니다.

  5. 상태 확인 설정 편집(Edit health check settings) 페이지에서 필요에 따라 설정을 수정한 다음 변경 사항 저장(Save changes)을 선택합니다.

를 사용하여 대상 그룹의 상태 점검 설정을 수정하려면 AWS CLI

modify-target-group 명령을 사용합니다.