지난 주에 진행했던 devops 스터디에서 오늘의 TMI로 AWS의 모니터링에 대해 조사해보았다.
스터디를 진행하면서 promethues, grafana, elk, efk에 대해 공부했지만 AWS의 모니터링 툴에 대한 내용은 없어서 직접 찾아보았다.
AWS의 대표적인 모니터링 서비스들은 다음과 같다.
AWS에는 200개가 넘는 서비스들이 존재하기 때문에 이 외에도 다양한 모니터링 서비스들을 제공하고 있다.
베스핀 글로벌의 공식 블로그에 AWS의 다양한 서비스들이 한 줄씩 정리되어 있다. AWS의 다른 서비스들이 궁금하다면 해당 링크를 참고해보자! 🤓
AWS에서는 다음 사례와 같이 여러 개의 모니터링 서비스를 함께 사용한다. 그 이유는 서비스를 모니터링할 때 로깅, 메트릭, 트레이싱에 적합한 모니터링 서비스가 다르고 각 모니터링 서비스마다 비용이 다르기 때문이다.
CloudWatch는 통합적인 완전체 모니터링 서비스를 제공하지만 저장 기간이 비교적 제한적이다. 저렴한 가격으로 오랜 기간 동안 추출한 모니터링 정보를 저장하기 위해서는 S3가 효율적이다. 또한 Amazon Athena를 S3에 붙여서 사용하면 S3에 저장되어 있는 데이터들을 SQL문이나 Python을 이용해 쿼리할 수 있다.
Amazon OpenSearch는 Amazon에서 제공되는 elasticsearch이다. 원래 Amazon Elasticsearch Service였다가 OpenSearch로 이름이 변경된 이유는 Amazon과 Elastic이 싸웠기 때문으로 추측된다.
Amazon과 Elastic이 분쟁이 있었다는 사실은 이번 스터디에서 처음 알게 되었다. 분쟁에 대한 자세한 사항은 링크에서 확인해보자!
AWS 컨테이너 모범 사례를 통해 AutoScaling을 하는 경우에 특히 모니터링이 중요하다는 것을 알게 되었다.
비용 최적화된 AutoScaling을 지원하기 위해서는 Amazon CloudWatch와 같은 모니터링 도구를 사용하여 서비스의 사용 패턴을 추출하고 분석해야 된다.
[참고자료]
https://aws.amazon.com/ko/startups/start-building/how-to-monitor-resources/
https://www.youtube.com/watch?v=aY-ZTFPAOEc&ab_channel=AmazonWebServicesKorea