본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] CW Synthetics Canary

by BTC_맥썸 2022. 12. 13.

안녕하세요 맥썸입니다.

오늘의 포스팅은 AWS Cloudwatch Synthetics Canary 를 소개하겠습니다.

 

Synthetics Canary 는 AWS의 웹 모니터링 기능을 제공하고 있으며 페이지에서 메트릭과 실패, 성공 확률을 파악할 수 있도록 출력됩니다.

사이트를 모니터링 해주며 지연된 URL 체크와 AWS 서비스인 SNS를 연동하여 한계 초과 시 알람을 받도록 경보를 설정 가능하여, 즉각적으로 모니터링 대응의 이점이 있습니다.

 

로직은 Canary 스크립트를 진행 시, Lambda 함수를 사용하여 호출 후 실행되어 결과를 출력합니다.

(Canary 생성 시, Lambda function 이 생성되어 별도의 비용이 청구 될 수 있습니다.)

 

리뷰를 하기 위해 blueprint - heartbeat를 이용하였습니다.

 

Blueprint 유형

  - Heartbeat Monitor : 지정된 URL 로드,  페이지의 스크린샷과 HAR 파일 저장, 액세스한 URL의 로그 저장

  - API Canary : REST API의 기본 읽기 및 쓰기 기능을 테스트 가능

  - Broken Link Checker : 테스트 중인 URL 내의 모든 링크를 수집

  - Visual Monitoring : 카나리아 실행 중에 찍은 스크린샷과 기준 카나리아 실행 중에 찍은 스크린샷을 비교하여 확인

  - Canary Recorder : 웹 사이트에서 클릭 및 입력 작업을 기록하고 동일한 단계를 따르는 카나리아를 생성하는 데 사용할 수 있는 Node.js 스크립트를 자동으로 생성

  - GUI Workflow : 웹 페이지에서 작업을 수행할 수 있는지 확인

 

해당 URL 의 Passed/Failed와 HTTP Status Code, Duration 을 확인 할 수 있으며

Metric을 통하여 모니터링이 가능합니다.

 

저는 스크립트 실행을 한번 구동하였습니다.

시각적으로 확인이 가능한 Synthetics Canary는 Canary 실행 당 0.0019 USD 비용이 발생함으로 한달 기준 1분에 한번씩 호출 시 약 10만원의 비용이 발생합니다. 모니터링 툴 치고는 비쌉니다.

생성 후 100건 까지는 무료입니다.

 

해당 데이터는 S3 bucket에 저장 할 수 있으며 저장되는 데이터는 ScreenShot, Log, 호출 결과 (JSON 형식의 파일, HAR 파일)이 적재 됩니다.

 

* 이점

  - 디테일하게 확인 가능

  - Passed/Failed 관련 여부를 벗어나, canary가 실행될때마다 ScreenShot을 찍어 시각적으로 확인이 가능합니다.

  - 지표를 통해 응답시간, http status code, 실패와 성공 확률 파악 가능

  - 로그 데이터 보존 기간 설정 가능

  - 한계 초과 시 알람을 받도록 경보 설정 가능 (SNS 연동)

  - Failed 결과 일 경우 X-Ray 연동을 통한 해당 페이지의 어떤 항목에 문제가 발생했는지 확인 가능

 

* 확인 해야 될 항목

  - 별도의 비용 발생

    : 로그 데이터의 적재 공간 S3 bucket 사용 시

    : X-Ray  연동 시 

    : SNS 연동 시 

 

다음 포스팅은 오픈소스 모니터링 Grafana와 비교하는 글을 가져오겠습니다.감사합니다.

'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글

AWS - Athena (2)  (0) 2022.12.16
AWS - Athena (1)  (0) 2022.12.16
[AWS] CLI 설치 and 업데이트 - 리눅스 환경  (0) 2022.12.13
API Gateway 실전 사용 (HTTP API)  (0) 2022.12.12
AWS Trusted Advisor  (0) 2022.12.12

댓글