AWS Elasticsearch & Lambda & Kibana 트러블슈팅 일지

반응형

AWS AZ 간 시간때문에 애를 먹었던 일이 있었는데 이번에 또 발생했어요.

 

클라우드 개발 시의 시간 참조별.. 까먹지 않게..!

 

 

1. AWS Lambda 실행 시간

 - 기본적으로는 UTC 0시 (영국) 기준으로 돌아가요.

 - 람다 실행 시, 타임존 (TZ)를 [Asia/Seoul] 즉, UTC 9로 맞추고 하면 Cloudwatch (CW) 에서 실행 로그를 보기 좋아요

 

 

당연히! 서울 AZ를 쓰는 입장에서, +9로 맞추어야지! 했는데.. 이게 엘라스틱서치와 키바나에서 꼬일줄은...

 

2. AWS Elasticsearch 시간

 - 데이터를 들이밀어 넣는 요청 측에서 시간 데이터를 결정합니다. 주는데로 받아먹는 ES.

 - 영국은 0시, 한국은 이 때 9시가 되겠죠.

 - 람다가 한국 시간 9시 데이터로 ES에 들이 밀어넣으니..

 

3. AWS ES Kibana 플러그인 조회..

 - 분명 현재 한국 시간으로 조회했는데..

 - 데이터가 왜 없을까.. 분명 람다에서 한국시간 9시 기준으로 집어넣었는데, 키바나 조회가 안되요.

 - 하지만 AWS 콘솔 상으로도, CLI 상으로도 ES에는 데이터가 존재한다고 나오는데...

 

[결론 : 키바나 검색 시, 브라우저의 로컬 타임존을 자동 보정해 데이터를 가져온다..]

 

즉, 위 상황에서 키바나는 한국시간 +9로 보정되어 집어넣은 데이터에, 키바나가 한번 더 +9를 하니, 영국시간 0시보다 +18시간 (욕 아님) 된 데이터를 찾으려고 하는 것...

첫 설계 시, 시간에 대하여 어떻게 보정할 지 로직/공통 가이드를 제공하는 것이 필수.....

 

(1) 람다의 실행 시간을 어느 것을 기준으로 할 것인가

(2) 엘라스틱서치에 시계열 데이터 삽입은 어떤 시간을 기준으로 할 것인가

(3) 키바나 조회 시, 브라우저 로컬 타임존 시간 보정 여부도 확인해서, 아키텍처가 잘 짜이게 만들어야한다.

 

캡처를 좀 해서 올려놔야 하는데.. 음..

(설마 누가 볼까)

 

반응형

설정

트랙백

댓글