기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Syslog 수집
Amazon CloudWatch Logs 관리형 syslog 수집을 사용하면 에이전트를 설치하거나 관리하지 않고도 방화벽, 라우터, 스위치 및 Linux 서버에서 CloudWatch Logs로 직접 syslog 메시지(RFC 5424, RFC 3164 및 Cisco FTD/ASA)를 보낼 수 있습니다. syslog 소스는 TCP, TCP+TLS 또는 UDP를 통해 계정의 VPC 엔드포인트로 메시지를 전송합니다. 트래픽은 AWS PrivateLink 를 통해 CloudWatch Logs syslog 서비스로 터널링됩니다. CloudWatch Logs syslog 서비스는 들어오는 메시지를 자동으로 구문 분석하고 시설, 심각도, 호스트 이름, 애플리케이션 이름과 같은 구조화된 필드를 추출하므로 사용자 지정 구문 분석 파이프라인이 필요하지 않습니다. 그런 다음 CloudWatch Logs Analytics를 사용하여 이러한 필드를 쿼리하여 보안 이벤트를 조사하거나 연결 문제를 해결할 수 있습니다. 이를 통해 인프라 로그 가시성을 중앙 집중화하고, 운영 워크플로를 간소화하고, 분산 환경에서 로그 수집 에이전트를 배포하고 유지 관리하는 데 드는 오버헤드를 줄일 수 있습니다.
syslog 소스가 이미 Amazon VPC 내에 있는 경우 VPC 엔드포인트로 직접 메시지를 보낼 수 있습니다. 소스가 외부 AWS (온프레미스 데이터 센터, 지사 또는 코로케이션 시설)에 있는 경우 VPN 또는 Direct Connect 연결을 통해 VPC 엔드포인트에 연결할 수 있습니다.
지원되는 프로토콜 및 포트
| 프로토콜 | 포트 | 참고 |
|---|---|---|
| TCP + TLS | 6514 | 전송 중에 암호화됩니다. 규정 준수 요구 사항에 권장됩니다. |
| TCP 일반 텍스트 | 1514 | 일반 텍스트 over AWS PrivateLink (네트워크 격리). |
| UDP | 514 | 최선의 전송. |
포트 6514의 TLS는 Amazon Trust Services에서 발급한 관리형 인증서를 사용하여 네트워크 로드 AWS밸런서에서 종료됩니다. syslog 클라이언트는 특별한 구성 없이이 인증서를 자동으로 신뢰합니다.
참고
UDP는 최선의 프로토콜입니다. 네트워크 조건으로 인해 메시지가 손실될 수 있습니다. 안정적인 전송을 위해 TCP를 사용합니다.
지원되는 syslog 형식
CloudWatch Logs는 다음 syslog 형식을 자동으로 감지하고 구문 분석합니다.
RFC 5424(최신 형식) - 구조화된 데이터, ISO 8601 타임스탬프, 명시적 애플리케이션 이름 및 프로세스 ID 필드를 포함합니다.
RFC 3164(BSD syslog, 레거시 형식) - BSD 스타일 타임스탬프와 TAG 필드를 포함합니다. 방화벽, 라우터 및 스위치와 같은 네트워크 디바이스에서 여전히 널리 사용됩니다.
Cisco FTD/ASA - Cisco Firepower Threat Defense(FTD) 및 적응형 보안 어플라이언스(ASA) 디바이스에서 사용하는 syslog 형식입니다. 메시지는 메시지 본문의
%FTD-또는%ASA-태그로 식별됩니다.
메시지는 로그 그룹에 원래 원시 형식으로 저장됩니다. CloudWatch Logs는 CloudWatch Logs Insights를 사용하여 쿼리할 수 있는 각 형식에서 구조화된 필드를 자동으로 추출합니다.
RFC 5424 추출 필드
| 필드 | 설명 |
|---|---|
facility | 로그 범주 이름(예: , kernauth, local0). |
facilityCode | 숫자로 된 시설 코드(0~23). |
severity | 심각도 수준 이름(예: , emergerr, info). |
severityCode | 숫자 심각도 코드(0~7). |
timestamp | ISO 8601 형식의 메시지 타임스탬프입니다. |
hostname | 소스 디바이스 호스트 이름입니다. |
appName | 애플리케이션 이름. |
procId | 프로세스 ID |
msgId | 메시지 식별자입니다. |
structuredData | RFC 5424 구조화된 데이터 요소(키-값 메타데이터). |
message | 메시지 본문입니다. |
RFC 3164 추출 필드
| 필드 | 설명 |
|---|---|
facility | 로그 범주 이름입니다. |
facilityCode | 숫자로 된 시설 코드(0~23). |
severity | 심각도 수준 이름입니다. |
severityCode | 숫자 심각도 코드(0~7). |
timestamp | 메시지 타임스탬프(BSD 형식에서 ISO 8601로 변환됨). |
hostname | 소스 디바이스 호스트 이름입니다. |
appName | 애플리케이션 이름(TAG 필드에서 발췌). |
procId | 프로세스 ID(있는 경우 TAG 필드에서 추출). |
message | 메시지 본문입니다. |
Cisco FTD/ASA 추출 필드
| 필드 | 설명 |
|---|---|
device | 디바이스 유형(FTD, ASA또는 FMC-AUDIT-LOG). |
timestamp | 메시지 타임스탬프(디바이스 구성에 따라 RFC 3164 또는 RFC 5424 형식). |
deviceId | 디바이스 호스트 이름( 어플라이언스에 device-id 로깅이 구성된 경우 존재). |
severity | 심각도 수준 이름(예: , informationalwarning, critical). |
severityLevel | 숫자 심각도 수준(0~7). |
messageId | Cisco 숫자 메시지 식별자(예: , 106023302013). |
subsystem | 하위 시스템 이름(특정 메시지 유형에 해당). |
message | 본문이 Cisco의 구조화된 형식을 사용하는 경우 메시지 본문(일반 텍스트) 또는 개별 키-값 필드입니다. |
메시지 전송
서버가 각 요청에 대한 상태 코드를 반환하는 HTTP 기반 수집과 달리 syslog는 메시지당 성공 확인을 발신자에게 다시 제공하지 않습니다. 서비스에서 메시지를 수신하면 메시지가 버퍼링되고 일시적 오류에 대한 재시도와 함께 로그 그룹으로 전송됩니다. 전송 보장은 선택한 전송 프로토콜에 따라 달라집니다.
-
TCP(포트 6514 및 1514) - 정상 작동 조건에서 안정적인 전송을 제공합니다.
전송이 불가능한 경우 서비스는 TCP 연결을 재설정하여 클라이언트에 실패 신호를 보냅니다. 해당 연결에서 진행 중인 메시지는 삭제될 수 있지만 연결 재설정은 즉각적인 역압을 제공하므로 조건이 해결될 때까지 클라이언트가 로컬에서 문제를 감지하고 메시지를 버퍼링할 수 있습니다. 용량 압력에서 서비스는 새 TCP 연결을 조기에 거부하여 동일한 역압 신호를 제공합니다.
연결 재설정을 유발하는 조건은 다음과 같습니다.
VPC 엔드포인트 정책은 액세스를 거부합니다.
계정의 할당
PutLogEvents량을 초과했습니다.대상 로그 그룹이 존재하지 않습니다.
로그 그룹의 리소스 정책이 액세스를 거부합니다.
UDP(포트 514) - 최선의 전송. 배달할 수 없는 메시지는 발신자에 대한 피드백 없이 삭제됩니다. 네트워크 혼잡 또는 용량 제약으로 인해 메시지가 손실될 수도 있습니다. 사용 사례에 안정적인 전송이 중요한 경우 TCP를 사용합니다.
전송 문제를 감지하고 대응하려면 CloudWatch에서 SyslogMessagesDropped 지표를 모니터링합니다. Reason 차원은 수정 조치를 취할 수 있도록 메시지가 삭제된 이유를 나타냅니다. 자세한 내용은 syslog 수집 모니터링 단원을 참조하십시오.
할당량 및 제한
| Limit | 값 | 설명 |
|---|---|---|
| 최대 메시지 크기(TCP) | 64KB | 표준 syslog 메시지는 일반적으로이 제한보다 훨씬 낮습니다. 더 큰 메시지가 필요한 사용 사례가 있는 경우 AWS Support에 문의하세요. |
| 최대 메시지 크기(UDP) | 8KB | 표준 syslog 메시지는 일반적으로이 제한보다 훨씬 낮습니다. 더 큰 메시지가 필요한 사용 사례가 있는 경우 AWS Support에 문의하세요. |
| 수집 처리량 | 와 공유됨 PutLogEvents |
Syslog 수집은 계정의 할당PutLogEvents량(기본적으로 리전별 계정당 초당 5,000개의 요청)에 포함됩니다. |
PutLogEvents 할당량은 조정이 가능합니다. syslog 트래픽에 더 높은 처리량이 필요한 경우 Service Quotas를 통해 할당량 증가를 요청합니다.