반응형

이번 포스팅에서는 CloudWatch에서 로그, 지표, 경보 등 기본 구성요소를 기반으로 제공하는 기능들인 Dashboard, Synthetics, Resource Health 등 다양한 기능을 살펴볼 예정이다.

 

<함께 보기> [AWS] CloudWatch : 주요 개념과 구성요소 (로그, 지표, 경보)

https://sjh9708.tistory.com/266 

 

[AWS] CloudWatch : 주요 개념과 구성요소 (로그, 지표, 경보)

이번 포스팅에서는 AWS 인프라를 포함한 시스템을 모니터링 할 수 있는 서비스인 AWS CloudWatch의 주요 구성 요소에 대해서 살펴보려고 한다.   AWS Cloudwatch CloudWatch는 AWS에서 제공하는 모니터링

sjh9708.tistory.com

 

 


CloudWatch Dashboard

 

 

  1. AWS 리소스의 상태와 성능 지표를 시각적으로 모니터링할 수 있는 도구
  2. 사용자는 EC2, RDS, Lambda 등의 다양한 서비스 지표를 대시보드에서 통합해서 확인 가능
  3. 외부 애플리케이션에서 수집한 커스텀 지표도 추가하여 사용자 맞춤형 모니터링 가능
  4. 그래프, 수치 위젯 등을 자유롭게 커스터마이징하여 구성 가능 (외부 소스 이용 가능)
  5. 대시보드를 공개하거나 여러 사용자와 공유 가능

 

 

 

 

 


CloudWatch Synthetics

 

https://awsfundamentals.com/blog/use-cloudwatch-synthetics-to-monitor-your-web-application

 

  1. Canary를 활용해 애플리케이션의 엔드포인트 및 API를 주기적으로 모니터링할 수 있는 기능.
    • Canary : Puppeteer나 Selenium WebDriver를 통해 Chrome 브라우저 상에서 실제 사용자처럼 동작 수행.
  2. Node.js 또는 Python으로 스크립트를 작성하며 주기적 실행과 이상 탐지 시 로그 및 스냅샷을 기록.
  3. 스냅샷 비교 분석이나 HAR 파일 생성을 통해 응답 상태를 시각적으로 점검 가능.
  4. 테스트 결과로부터 커스텀 지표를 생성해 CloudWatch에 게시 가능. 

 

 


CloudWatch Resource Health

 

 

  1. EC2 인스턴스의 상태를 별도 설정 없이 자동으로 시각화해주는 기능
  2. CPU, 메모리, 인스턴스 상태 등을 기준으로 색상으로 구분된 상태 표시를 제공, 임계값에 따라 색상 기준을 커스터마이징 가능
  3. 인스턴스를 태그나 리전 등으로 그룹화하거나 필터링 가능

 

 

 

 

 

 


Cloudwatch와 CloudFormation을 사용한 대시보드 구성

 

1. 모니터링할 서비스 프로비저닝

 

 

  • 해당 포스팅에서는 EC2 Autoscaling Group을 Cloudwatch 대시보드를 통해 모니터링을 구성한다.
  • AutoScaling Group 지표 수집을 활성화해주어야 다양한 지표를 수집할 수 있는 권한을 얻는다.

 

 


2. CloudFormation을 통한 대시보드 인프라 구성

 

 

CloudFormation은 코드를 통해서 인프라를 생성하고 관리할 수 있는 서비스이다. 우리는 해당 서비스를 이용해서 코드로 AWS 서비스와 연결하여 커스텀 대시보드를 구성할 수 있다.

템플릿은 yaml 혹은 json 파일을 통해서 구성할 수 있으며, 해당 템플릿을 기반으로 인프라가 생성된다.

 

{
  "widgets": [
    {
      "type": "metric",
      "x": 0,
      "y": 0,
      "width": 12,
      "height": 6,
      "properties": {
        "metrics": [
          [ "AWS/EC2", "CPUUtilization", "InstanceId", "i-0123456789abcdef0" ]
        ],
        "period": 300,
        "stat": "Average",
        "region": "us-east-1",
        "title": "EC2 CPU Utilization"
      }
    }
  ]
}

 

CloudFormation에 대한 자세한 내용은 다루지 않지만 위의 코드는 대시보드를 구성하는 간단한 템플릿의 예시이다.

CPU 사용률을 보여주는 EC2 인스턴스 그래프 하나를 대시보드에 추가하는 예시이다.

 

 


 

 

위의 JSON 템플릿의 예시에서 EC2 인스턴스의 ID같은 경우에는 변화할 수 있다. 따라서 템플릿 파일 안의 코드를 동적으로 작성할 수 있다. 이 때 파라미터를 지정할 수 있다.

Auto Sacling 같은 경우에도 그룹 이름 등이 동적으로 작성되어야 할 것이다. 따로 작성한 JSON에서는(코드가 너무 길어서 따로 올리지는 않았다) AutoScalingGroupName이라는 파라미터가 존재하며, 해당 파라미터의 사용자 지정 값을 입력할 수 있다.

 

 

 


 

마지막으로 IAM 리소스를 생성하는 행위가 코드 안에서 이루어진다면 CloudFormation이 생성할 수 있는 권한을 주어야 코드를 통해 리소스를 생성 가능하다.

 

 

 

 

 


3. CloudWatch 대시보드 확인

 

 

 

 

 


4. 대시보드 공유

 

 

위에서 언급했듯, CloudWatch의 대시보드는 공유가 가능하다. Public하게 공개할 수도 있으며, 특정 IAM 사용자나 IP 대역의 사용자에게만 공유하는 Private하게 공개하는 것도 가능하다.

 

 

Public하게 공개된 대시보드의 모습

 

 

 

 

 

 

 

 

 


References

 

https://docs.aws.amazon.com/

 

https://docs.aws.amazon.com/

 

docs.aws.amazon.com

 

https://www.inflearn.com/course/%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85%ED%95%98%EB%8A%94-aws-%EA%B8%B0%EC%B4%88/dashboard

 

쉽게 설명하는 AWS 기초 강의 강의 | AWS 강의실 - 인프런

AWS 강의실 | , 안녕하세요. AWS 강의실입니다.AWS 공식 커뮤니티 빌더이자 2만명의 구독자를 보유한 AWS Only 강의 유튜브의 경험으로 AWS를 쉽게 알려드립니다.이 강의는AWS의 서비스 및 활용 지식을

www.inflearn.com

 

반응형

BELATED ARTICLES

more