View a markdown version of this page

상태 확인 로그 - Elastic Load Balancing

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

상태 확인 로그

Elastic Load Balancing은 상태 확인 실패 시 실패 이유를 포함하여 등록된 대상의 상태 확인 상태에 대한 자세한 정보를 캡처하는 상태 확인 로그를 제공합니다. 상태 확인 로그는 EC2 인스턴스, IP 주소 및 Lambda 함수 대상에 대해 지원됩니다. 각 로그 항목에는 상태 확인 요청 유형 또는 연결, 타임스탬프, 대상 주소, 대상 그룹 ID, 상태 및 사유 코드와 같은 정보가 포함됩니다. 이러한 상태 확인 로그를 사용하여 대상 상태 패턴을 분석하고, 상태 전환을 모니터링하고, 문제를 해결할 수 있습니다.

상태 확인 로그는 기본적으로 비활성화된 선택적 기능입니다. 로드 밸런서에 대해 상태 확인 로그를 활성화하면 Elastic Load Balancing은 로그를 캡처하여 지정한 Amazon S3 버킷에 압축 파일로 저장합니다. 상태 확인 로그는 언제든지 비활성화할 수 있습니다.

Amazon S3의 스토리지 비용은 청구되지만, Amazon S3로 로그 파일을 전송하기 위해 Elastic Load Balancing에서 사용하는 대역폭에 대해서는 요금이 부과되지 않습니다. 스토리지 비용에 대한 자세한 내용은 Amazon S3 요금을 참조하세요.

상태 확인 로그 파일

Elastic Load Balancing은 5분마다 각 로드 밸런서 노드에 대한 로그 파일을 게시합니다. 로드 밸런서는 많은 수의 대상이 로드 밸런서에 연결되거나 작은 상태 확인 간격이 구성된 경우(예: 5초마다) 동일한 기간 동안 여러 로그를 전송할 수 있습니다.

상태 확인 로그의 파일 이름은 다음 형식을 사용합니다.

bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/health_check_log_aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
버킷

S3 버킷의 이름.

접두사

(선택 사항) 버킷의 접두사(논리적 계층 구조)입니다. 지정하는 접두사에는 문자열 AWSLogs가 포함되지 않아야 합니다. 자세한 내용은 접두사를 사용한 객체 구성을 참조하세요.

AWSLogs

AWSLogs로 시작하는 파일 이름의 일부가 지정하는 버킷 이름과 선택적 접두사 뒤에 추가됩니다.

aws-account-id

소유자의 AWS 계정 ID입니다.

리전.

로드 밸런서 및 S3 버킷을 위한 리전입니다.

yyyy/mm/dd

로그가 전달된 날짜입니다.

load-balancer-id

로드 밸런서의 리소스 ID입니다. 리소스 ID에 포함되어 있는 슬래시(/)가 마침표(.)로 대체됩니다.

end-time

로깅 간격이 끝나는 날짜와 시간입니다. 예를 들어 종료 시간이 20140215T2340Z이면 UTC 또는 Zulu 시간으로 23:35과 23:40 사이의 요청에 대한 항목이 포함됩니다.

ip-address

요청을 처리한 로드 밸런서 노드의 IP 주소입니다. 내부 로드 밸런서의 경우 프라이빗 IP 주소가 됩니다.

random-string

시스템에서 생성된 임의 문자열입니다.

다음은 접두사가 있는 로그 파일 이름의 예입니다.

s3://amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/health_check_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz

다음은 접두사가 없는 로그 파일 이름의 예입니다.

s3://amzn-s3-demo-logging-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/health_check_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz

원하는 기간만큼 버킷에 로그 파일을 저장할 수 있습니다. 그러나 Amazon S3 수명 주기 규칙을 정의하여 자동으로 로그 파일을 보관하거나 삭제할 수도 있습니다. 자세한 내용을 알아보려면 Amazon S3 사용 설명서객체 수명 주기 관리를 참조하세요.

상태 확인 로그 항목

Elastic Load Balancing은 해당 로드 밸런서에 등록된 모든 대상에 대한 실패 이유를 포함하여 대상 상태 확인 결과를 로깅합니다. 각 로그 항목에는 등록된 대상에 대한 단일 상태 확인 결과의 세부 정보가 포함됩니다.

구문

다음 표에서는 상태 확인 로그 항목의 필드를 순서대로 설명합니다. 모든 필드는 공백으로 구분됩니다. 새 필드를 추가할 때는 로그 항목의 끝에 추가합니다. 새 필드를 릴리스할 준비를 하는 동안 해당 필드가 릴리스되기 전에 끝에 “-”가 하나 더 표시될 수 있습니다. 로그 구문 분석이 마지막으로 문서화된 필드에서 중단되도록 구성하고 새 필드를 릴리스한 후에는 로그 구문 분석 구성을 업데이트해야 합니다.

필드(위치) 설명

type (1)

상태 확인 요청 또는 연결의 유형입니다. 사용 가능한 값은 다음과 같습니다(기타 값은 모두 무시).

  • http -- HTTP

  • https -- TLS를 통한 HTTP

  • h2 -- TLS를 통한 HTTP/2

  • grpc -- gRPC

  • lambda -- Lambda 함수

time (2)

ISO 8601 형식의 대상에서 상태 확인이 시작되는 시점의 타임스탬프입니다.

지연 시간(3)

현재 상태 확인을 완료하는 데 경과된 총 시간 (초)입니다.

target_addr(4)

IP:Port 형식의 대상 IP 주소 및 포트입니다. 대상이 Lambda 함수인 경우 Lambda의 ARN입니다.

target_group_id(5)

대상이 연결된 대상 그룹의 이름입니다.

상태(6)

상태 확인의 상태입니다. 상태 확인이 성공하면이 값은 입니다 PASS . 실패한 상태 확인에서 값은 입니다. FAIL

status_code(7)

상태 확인 요청에 대해 대상에서 받은 응답 코드입니다.

reason_code(8)

상태 확인이 실패할 경우 실패 이유입니다. 오류 이유 코드 섹션을 참조하세요

오류 이유 코드

대상 상태 확인이 실패하면 로드 밸런서는 상태 확인 로그에 다음 사유 코드 중 하나를 기록합니다.

코드 설명

RequestTimedOut

응답을 기다리는 동안 상태 확인 요청이 시간 초과됨

ConnectionTimedOut

TCP 연결 시도 시간이 초과되어 상태 확인에 실패했습니다.

ConnectionReset

연결 재설정으로 인한 상태 확인 실패

ResponseCodeMismatch

상태 확인 요청에 대한 대상 응답의 HTTP 상태 코드가 구성된 상태 코드와 일치하지 않음

ResponseStringMismatch

대상에서 반환한 응답 본문에 대상 그룹 상태 확인 구성에 구성된 문자열이 포함되어 있지 않음

InternalError

내부 로드 밸런서 오류

TargetError

대상은 상태 확인 요청에 대한 응답으로 5xx 오류 코드를 반환합니다.

GRPCStatusHeaderEmpty

GRPC 대상 응답에 값이 없는 grpc 상태 헤더가 있음

GRPCUnexpectedStatus

GRPC 대상이 예기치 않은 grpc-status로 응답함

로그 항목 예제

다음은 상태 확인 로그 항목의 예입니다. 보다 읽기 쉽도록 예제 텍스트가 여러 줄에 나타납니다.

다음은 성공적인 상태 확인을 위한 로그 항목의 예입니다.

http 2025-10-31T12:44:59.875678Z 0.019584011 172.31.20.97:80 HCLogsTestIPs PASS 200 -

다음은 실패한 상태 확인에 대한 로그 항목의 예입니다.

http 2025-10-31T12:44:58.901409Z 1.121980746 172.31.31.9:80 HCLogsTestIPs FAIL 502 TargetError

로그 전송 알림 구성

Elastic Load Balancing이 로그를 S3 버킷으로 전송할 때 알림을 받으려면 Amazon S3 이벤트 알림을 사용합니다. Elastic Load Balancing은 PutObject, CreateMultipartUploadPOST Object를 사용하여 Amazon S3에 로그를 전송합니다. 모든 로그 전송 알림을 수신하려면 구성에 이러한 객체 생성 이벤트를 모두 포함해야 합니다.

자세한 내용은 Amazon Simple Storage Service 사용 설명서Amazon S3 이벤트 알림을 참조하세요.

상태 확인 로그 파일 처리

상태 확인 로그 파일이 압축됩니다. 파일을 다운로드하는 경우에는 압축을 해제해야 정보를 볼 수 있습니다.

웹 사이트에서 요청이 많은 경우에는 로드 밸런서가 수 기가바이트의 데이터로 로그 파일을 생성할 수 있습니다. 라인별 처리로는 이렇게 대량의 데이터를 처리할 수 없습니다. 따라서 병렬 처리 솔루션을 제공하는 분석 도구를 사용해야 할 수 있습니다. 예를 들어 다음 분석 도구를 사용하여 상태 확인 로그를 분석하고 처리할 수 있습니다.

  • Amazon Athena는 표준 SQL을 사용해 Amazon S3에 저장된 데이터를 간편하게 분석할 수 있는 대화식 쿼리 서비스입니다.

  • Loggly

  • Splunk

  • Sumo Logic