안녕하세요 와탭랩스 데브옵스팀 최정민입니다. 오늘날 많은 기업들이 온프레미스에서 클라우드 환경으로 이전하고 있습니다. 현재 다양한 클라우드 벤더 업체들이 기업들의 클라우드 환경으로의 이전을 돕고 있습니다.
그중에서도 AWS (Amazon Web Service)는 압도적인 점유율을 가진 클라우드 시장의 선도 주자입니다. 공정거래위원회가 시행한 조사에 따르면 AWS 국내 클라우드 시장에서 약 70퍼센트의 시장 점유율로 1위를 차지하였습니다
와탭랩스도 사용하는 클라우드 벤더 중 AWS가 차지하는 비중이 가장 큽니다. 데브옵스 엔지니어로서 AWS를 사용하면서 가장 불편한 점 중에 하나는 다양한 리소스들의 로그를 한곳에서 모아볼 수 있는 창구가 없다는 것이었습니다. 이러한 점에서 불편함을 느껴 AWS 리소스들의 로그를 와탭에서 모아볼 수 있는 AWS Log를 개발하게 되었습니다.
이번 글에서는 와탭에서 제공하는 AWS Log의 구성요소와 원리, 특히 AWS 환경에 로그를 어떻게 수집하는지에 대해 중점적으로 알아보도록 하겠습니다.
AWS Log의 전체 구조는 다음과 같습니다.
Whatap Forwarder는 AWS Lambda로 와탭에서 제공하는 CloudFormation을 통해 사용자의 AWS 환경에 설치가 됩니다.
[AWS CloudFormation으로 인프라 관리/복제하기]
Whatap Forwarder는 AWS CloudWatch LogGroup의 Lambda 구독 필터를 이용하여 로그를 수집합니다.
Whatap Forwarder는 AWS S3 bucket의 Bucket Notification과 AWS Python SDK(GetObject)를 이용하여 로그를 수집합니다.
위에서 설명드린 것처럼 Whatap-Forwarder가 AWS Cloudwatch LogGroup, S3 bucket에 쌓이는 로그를 수집하기 위해서는 각각 Lambda 구독 필터, Bucket Notification 설정이 필요합니다.
와탭에서는 해당 설정을 와탭 설치 화면에서 제공합니다. 설정을 위한 Architecture는 다음과 같이 구성됩니다.
지금까지 와탭의 새로운 서비스인 AWS Log의 로그 수집 원리와 설정 원리 등에 대해 살펴보았습니다. Devops 엔지니어로써 운영에 필요한 기능을 개발하고 해당 기능을 제품화하여 많은 Devops엔지니어, 운영자, 개발자분들에게 도움을 드리는 일은 정말 뜻깊은 일인 것 같습니다.
AWS 환경에서의 다양한 Log를 한꺼번에 모아보고 싶으시다면 와탭 AWS Log 사용을 추천드립니다.