반응형

 

 

1. ALB Connection Log

-. 언제부터 생긴지는 모르겠으나, ALB에 Connection Log 가 새로 생겨있음

-. 새로 생긴 기능이라 그런지 Table 생성 쿼리가 공식문서에는 아직 안나와있음

-. 로그에는 클라이언트의 IP 주소 및 포트, 리스너 포트, 사용된 TLS 암호 및 프로토콜, TLS 핸드셰이크 지연 시간, 연결 상태, 클라이언트 인증서 세부 정보 등의 정보가 포함되므로, 연결 로그를 사용하여 요청 패턴을 분석하고 문제를 해결 가능

 

 

2. Connection Log 활성화 후 수집 내용

2024-03-11T23:59:59.187088Z [CLIENT-IP-숨김] 4704 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.012 "-" - - Success
2024-03-11T23:59:59.203439Z [CLIENT-IP-숨김] 51214 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.013 "-" - - Success
2024-03-11T23:59:59.210184Z [CLIENT-IP-숨김] 61194 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.004 "-" - - Success
2024-03-11T23:59:59.215868Z [CLIENT-IP-숨김] 54444 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.003 "-" - - Success
2024-03-11T23:59:59.241786Z [CLIENT-IP-숨김] 56294 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.007 "-" - - Success
2024-03-11T23:59:59.242564Z [CLIENT-IP-숨김] 60949 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.009 "-" - - Success
2024-03-11T23:59:59.258342Z [CLIENT-IP-숨김] 62395 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.042 "-" - - Success
2024-03-11T23:59:59.263639Z [CLIENT-IP-숨김] 41166 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.004 "-" - - Success
2024-03-11T23:59:59.287119Z [CLIENT-IP-숨김] 44380 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.010 "-" - - Success
2024-03-11T23:59:59.290264Z [CLIENT-IP-숨김] 54454 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.003 "-" - - Success
2024-03-11T23:59:59.292470Z [CLIENT-IP-숨김] 56314 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.008 "-" - - Success
2024-03-11T23:59:59.318069Z [CLIENT-IP-숨김] 51230 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.013 "-" - - Success
2024-03-11T23:59:59.333857Z [CLIENT-IP-숨김] 38647 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.000 "-" - - Success
2024-03-11T23:59:59.340725Z [CLIENT-IP-숨김] 56328 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.005 "-" - - Success
2024-03-11T23:59:59.345163Z [CLIENT-IP-숨김] 54462 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.005 "-" - - Success
2024-03-11T23:59:59.369386Z [CLIENT-IP-숨김] 50565 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.009 "-" - - Success
2024-03-11T23:59:59.372092Z [CLIENT-IP-숨김] 51232 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.012 "-" - - Success
2024-03-11T23:59:59.378269Z [CLIENT-IP-숨김] 48360 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 1.445 "-" - - Success
2024-03-11T23:59:59.385046Z [CLIENT-IP-숨김] 56348 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.006 "-" - - Success
2024-03-11T23:59:59.407253Z [CLIENT-IP-숨김] 4705 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.010 "-" - - Success
2024-03-11T23:59:59.408600Z [CLIENT-IP-숨김] 60956 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.020 "-" - - Success
2024-03-11T23:59:59.415877Z [CLIENT-IP-숨김] 56642 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.032 "-" - - Success
2024-03-11T23:59:59.417354Z [CLIENT-IP-숨김] 44388 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 0.004 "-" - - Succes

각 필드별 값은 AWS 공식 document 확인(https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/application/load-balancer-connection-logs.html)

3. Athena Table 생성 쿼리

CREATE EXTERNAL TABLE IF NOT EXISTS alb_conn_logs (
    time string,
    client_ip string,
    client_port int,
    listener_port int,
    tls_protocol string,
    tls_cipher string,
    tls_handshake_latency double,
    leaf_client_cert_subject string,
    leaf_client_cert_validity string,
    leaf_client_cert_serial_number string,
    tls_verify_status string
)
PARTITIONED BY
(
    day STRING
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
'serialization.format' = '1',
'input.regex' =
    '([^ ]*) ([^ ]*) ([0-9]*) ([0-9]*) ([A-Za-z0-9.-]*) ([^ ]*) ([-.0-9]*) \"([^\"]*)\" ([^ ]*) ([^ ]*) ([^ ]*)')
LOCATION 's3://<S3-LOCATION>/AWSLogs/<ACCOUNT-NUMBER>/elasticloadbalancing/<REGION>/'
TBLPROPERTIES
(
    "projection.enabled" = "true",
    "projection.day.type" = "date",
    "projection.day.range" = "2023/11/27,NOW",
    "projection.day.format" = "yyyy/MM/dd",
    "projection.day.interval" = "1",
    "projection.day.interval.unit" = "DAYS",
    "storage.location.template" = "s3://<S3-LOCATION>/AWSLogs/<ACCOUNT-NUMBER>/elasticloadbalancing/<REGION>/${day}"
)

 

 

 

 

 

 

반응형

'Network' 카테고리의 다른 글

HTTP 통신 응답 상태 코드 유형  (0) 2020.12.06
DNS 서버 src IP  (0) 2020.03.06
MAIL 서버  (0) 2020.01.23
Static/Dynamic Routing  (0) 2020.01.20
반응형

- [Code] 1.xx(조건부 응답)

: 조건부 응답. 일부 요청을 받았으며, 서버는 지속적으로 요청을 대기중인 상태.
    -. 통신 흐름

   case) 2번의 Request, 1번의 Response 와 같은 상태

 

 

 

- [Code] 2.xx(성공)

: 클라이언트와 서버 간 정상적으로 통신하는 상태.
    -. 통신 흐름

   ex) Request의 건 수만큼, Response의 건 수도 동일한 상태

 

 

 

- [Code] 3.xx(리다이렉션)

: 클라이언트에서 서버로 요청 시, 요청을 마치기 위해 추가 동작이 필요한 상황. 사용자가 특정 사이트 접속 시, 해당 사이트에서 다른 사이트로 전달하는 상황. 접속한 사이트에서 페이지 이동도 포함
    -. 통신 흐름

   ex) Request를 다른 서버로 Redirect하여, 클라이언트가 다른 서버를 확인하는 상황

 

 

 

- [Code] 4.xx(요청 오류)

: 클라이언트가 서버로 요청 시, 서버로 가는 중에 이상이 발생하
는 경우에 발생하는 오류 코드. 해당 코드가 발생하면 서버 운영자 입장에서는 '클라이언트' → '서버'에 도달하는 모든 구간을 하나씩 체크해봐야 함.
    -. 통신 흐름

ex) 클라이언트의 Request 시, Server까지 해당 요청이 정상적으로 도달하지 않는 상태.

 

 

 

 

- [Code] 5.xx(서버 오류)

: 클라이언트가 서버로 요청하였으며, 요청은 정상적으로 되었지만 서버에서 오류가 발생한 상황. 해당 상황에서는 서버 개발자가 서버 내부를 점검해야하는 문제가 대다수임.
    -. 통신 흐름

   ex) 클라이언트의 Request는 정상적으로 도달하나, Server의 오류로 인해 정상적으로 Response를 하지 못하는 상태.

반응형

'Network' 카테고리의 다른 글

AWS Athena를 활용한 ALB Connection Log 확인  (1) 2024.04.04
DNS 서버 src IP  (0) 2020.03.06
MAIL 서버  (0) 2020.01.23
Static/Dynamic Routing  (0) 2020.01.20
반응형

-. DNS서버는 기본적으로 PC에 세팅되어 있음.

-. DNS서버내 기준에 따라 내부/외부와 통신을 하게 되며, 외부망으로 통신하게될 경우 위치의 공인아이피로 통신함.

-. 내부망으로 통신할 경우는 자리의 Private IP가 Source IP가 됨.

 

** 해당 내용은 현재 시스템을 기준으로 작성되었기 때문에 어떤 IP가 Src가 될지는 상황에 따라 다를 수 있음.

 

반응형

'Network' 카테고리의 다른 글

AWS Athena를 활용한 ALB Connection Log 확인  (1) 2024.04.04
HTTP 통신 응답 상태 코드 유형  (0) 2020.12.06
MAIL 서버  (0) 2020.01.23
Static/Dynamic Routing  (0) 2020.01.20
반응형

SMTP 서버란?
 -Outlook에서 메일을 전송할 경우, 해당 메일은 SMTP 서버로 일단 전송되며, SMTP 서버에서 SendMail 프로그램을 이용하여 해당 메일주소로 발송.
 -보내는 메일서버. 즉, Outgoing Mail Server라고 부름.
 
POP3 서버란?
 -그룹웨어 사용자가 자신의 계정에 온 메일을 확인하려면 POP3 서버에 계정이 있어야하며, 메일은 POP3 서버에 저장되고 이를 메일프로그램에서 자신의 컴퓨터로 전달.
 -받는 메일서버. 즉, Incoming Mail Server라고 부름.
 -그룹웨어 기준으로, POP3 서버는 임직원 데이터 조회가 가능해야함.

SPAM 서버란?
 -메일을 차단하고, 필터링할 수 있음.

RELAY 서버란?
 -Relay 서버가 필요한 이유는 특수한 케이스에서 사용. Mail Relay의 예로, 러시아 혹은 중국과 같이 클라우드 환경의 IP를 차단하기 때문에 도입하였음.
 -클라우드 메일서버 >> IDC 서버(릴레이) >> 러시아/중국 발송.







반응형

'Network' 카테고리의 다른 글

HTTP 통신 응답 상태 코드 유형  (0) 2020.12.06
DNS 서버 src IP  (0) 2020.03.06
Static/Dynamic Routing  (0) 2020.01.20
NAT 참고1  (0) 2020.01.15
반응형

 

반응형

'Network' 카테고리의 다른 글

HTTP 통신 응답 상태 코드 유형  (0) 2020.12.06
DNS 서버 src IP  (0) 2020.03.06
MAIL 서버  (0) 2020.01.23
NAT 참고1  (0) 2020.01.15
반응형

반응형

'Network' 카테고리의 다른 글

HTTP 통신 응답 상태 코드 유형  (0) 2020.12.06
DNS 서버 src IP  (0) 2020.03.06
MAIL 서버  (0) 2020.01.23
Static/Dynamic Routing  (0) 2020.01.20

+ Recent posts