Amazon Web Services 한국 블로그

Amazon CloudWatch 기반 하이브리드, 멀티클라우드 및 온프레미스 지표 통합

이제 Amazon CloudWatch를 사용하여 하이브리드, 멀티 클라우드 및 온프레미스 데이터 소스의 지표를 통합하여 일관되고 통일된 방식으로 처리할 수 있습니다. 소스에 관계없이 모든 지표를 쿼리 및 시각화하고 관련 경보를 제공할 수 있습니다. 이 새로운 기능은 통합 보기를 제공하는 것 외에, 인프라의 여러 부분과 측면에 걸쳐 추세와 문제를 식별하는 데에도 도움이 됩니다.

이 새로운 기능에 대해 처음 들었을 때 저는 이렇게 생각했습니다. “PutMetricData로도 똑같은 작업이 가능한데, 이 기능이 굳이 왜 필요하지?”라고 생각했습니다. 하지만 제 생각이 틀렸습니다. PutMetricData는 지표를 CloudWatch에 저장하지만, 이 멋진 새로운 기능은 필요할 때 소스에서 직접 지표를 가져옵니다.

데이터를 저장하는 대신 Amazon Managed Service for Prometheus, 일반적인 Prometheus, Amazon OpenSearch Service, Amazon RDS for MySQL, Amazon RDS for PostgreSQL, Amazon Simple Storage Service(S3)에 저장된 CSV 파일 및 Microsoft Azure Monitor에서 데이터를 가져오는 커넥터를 선택하고 구성합니다. 각 커넥터는 AWS CloudFormation 템플릿에서 배포되는 AWS Lambda 함수입니다. CloudWatch는 필요에 따라 적절한 Lambda 함수를 간접적으로 호출하고 반환된 지표를 즉시 활용합니다. 이 지표는 버퍼링되거나 보관되지 않습니다.

커넥터 생성 및 사용
시작하려면 CloudWatch 콘솔을 열고, 모든 지표를 클릭하고, 다중 소스 쿼리 탭을 활성화한 다음 Create and manage data sources(데이터 소스 생성 및 관리)를 클릭합니다.

그리고 다시 반복합니다.

그런 다음 데이터 소스 유형을 선택합니다.

그러면 데이터 소스용 커넥터를 생성하고 설정하는 데 필요한 세부 정보를 입력하라는 메시지가 CloudWatch에 표시됩니다. 예를 들어 Amazon RDS – MySQL을 선택한 경우 데이터 소스에 이름을 지정하고 RDS 데이터베이스 인스턴스를 선택한 다음 연결 정보를 지정합니다.

데이터 소스 생성을 클릭하면 Lambda 함수, Lambda 권한, IAM 역할, Secrets Manager 보안 암호, 로그 그룹 및 AWS CloudFormation 스택이 내 계정에 생성됩니다.

다음으로, 데이터 소스를 참조하고 데이터 소스가 제공하는 지표를 사용할 준비가 되면 지표의 타임스탬프와 값을 반환하는 SQL 쿼리를 입력합니다.

Lambda 함수 내부
Custom – getting started(사용자 지정 – 시작하기) 템플릿의 코드는 짧고 간단하며 이해하기 쉽습니다. 다음 두 가지 이벤트에 대한 핸들러를 구현합니다.

DescribeGetMetricData – 이 핸들러는 커넥터 이름, 다른 핸들러에 대한 인수의 기본값, CloudWatch 콘솔의 사용자 지정 데이터 소스 쿼리 작성기에 표시되는 마크다운 형식의 텍스트 설명이 포함된 문자열을 반환합니다.

GetMetricData – 이 핸들러는 인수로 제공된 시간 범위에 대한 지표 이름, 타임스탬프의 1차원 배열 및 지표 값을 반환합니다.

이 코드를 몇 분만 살펴보면 자체 데이터 소스에 연결하는 함수를 작성하는 방법을 알 수 있습니다.

알아야 할 사항
이 강력한 새 기능과 관련해 유의해야 할 사항이 몇 가지 있습니다.

리전 – 모든 상용 AWS 리전에서 데이터 커넥터를 생성하고 사용할 수 있습니다. 특정 리전에서 실행되는 커넥터는 다른 리전과 다른 AWS 계정의 서비스 및 엔드포인트에 연결하고 데이터를 검색할 수 있습니다.

요금 – 커넥터에는 추가 요금이 부과되지 않습니다. Lambda 함수의 간접 호출과 생성한 다른 AWS 인프라에 대해 요금을 지불합니다.

Jeff;