기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
태그 기반 Amazon CloudWatch 대시보드를 자동으로 생성
작성: 자낙 바다리아 (AWS), 라즈네시 야기 (AWS), 빈도쿠마르 만달라푸 (AWS)
코드 리포지토리 | 환경: 프로덕션 | 기술: 운영 CloudNative, 관리 및 거버넌스 |
AWS 서비스: AWS CDK, 아마존 CloudWatch, AWS CodeBuild, AWS CodePipeline |
요약
다양한 Amazon CloudWatch 대시보드를 수동으로 만들려면 시간이 많이 걸릴 수 있습니다. 특히 환경을 자동으로 확장하기 위해 여러 리소스를 만들고 업데이트해야 하는 경우에는 더욱 그렇습니다. CloudWatch 대시보드를 자동으로 생성하고 업데이트하는 솔루션을 사용하면 시간을 절약할 수 있습니다. 이 패턴을 사용하면 태그 변경 이벤트를 기반으로 AWS 리소스에 대한 CloudWatch 대시보드를 생성 및 업데이트하여 Golden Signals 메트릭을 표시하는 완전 자동화된 AWS Cloud Development Kit (AWS CDK) 파이프라인을 배포할 수 있습니다.
사이트 신뢰성 엔지니어링 (SRE) 에서 Golden Signals는 사용자 또는 소비자 관점에서 서비스를 폭넓게 볼 수 있는 포괄적인 지표 세트를 말합니다. 이러한 지표는 지연 시간, 트래픽, 오류 및 포화 상태로 구성됩니다. 자세한 내용은 사이트 신뢰성 엔지니어링 (SRE) 이란?
이 패턴에서 제공하는 솔루션은 이벤트 기반입니다. 배포된 후에는 태그 변경 이벤트를 지속적으로 모니터링하고 CloudWatch 대시보드와 경보를 자동으로 업데이트합니다.
사전 조건 및 제한 사항
사전 요구 사항
액티브 AWS 계정
AWS Command Line Interface (AWS CLI), 설치 및 구성
v2의 사전 요구 사항 AWS CDK
부트스트랩된 환경 AWS
다음을 위해 설치 및 구성된
노드 패키지 관리자 (npm) AWS CDK 및 에 대한 중간 정도 (레벨 200) 의 지식 AWS CDK AWS CodePipeline
제한 사항
이 솔루션은 현재 다음 AWS 서비스에 대해서만 자동화된 대시보드를 생성합니다.
아키텍처
대상 기술 스택
대상 아키텍처
![태그 CloudWatch 기반 대시보드를 만들기 위한 타겟 아키텍처](images/pattern-img/f234fe30-87db-446f-a291-d33928ca2ccb/images/f63ca697-f252-416d-8a1b-0239f38c10c5.png)
구성된 애플리케이션 AWS 태그 또는 코드 변경에 대한 태그 변경 이벤트가 발생하면 업데이트된 대시보드를 구축하고 AWS CodePipeline 배포하기 위한 파이프라인이 시작됩니다. CloudWatch
AWS CodeBuild Python 스크립트를 실행하여 태그가 구성된 리소스를 찾고 리소스 ID를 CodeBuild 환경의 로컬 파일에 저장합니다.
CodeBuild cdk synth를 실행하여 CloudWatch 대시보드와 경보를 배포하는 AWS CloudFormation 템플릿을 생성합니다.
CodePipeline AWS CloudFormation 템플릿을 지정된 지역 및 지역에 배포합니다. AWS 계정
AWS CloudFormation 스택이 성공적으로 배포되면 CloudWatch 대시보드와 경보를 볼 수 있습니다.
자동화 및 규모 조정
이 솔루션은 를 사용하여 자동화되었습니다. AWS CDKAmazon CloudWatch 리포지토리의 GitHub 골든 시그널 대시보드에서
도구
Amazon 서비스
EventBridgeAmazon은
AWS Lambda 함수, API 대상을 사용하는 HTTP 호출 엔드포인트 또는 기타 이벤트 버스를 비롯한 다양한 소스의 실시간 데이터와 애플리케이션을 연결할 수 있도록 지원하는 서버리스 이벤트 버스 서비스입니다. AWS 계정 AWS CodePipeline
소프트웨어 릴리스의 여러 단계를 신속하게 모델링 및 구성하고 소프트웨어 변경 사항을 지속적으로 릴리스하는 데 필요한 단계를 자동화할 수 있도록 지원합니다. AWS CodeBuild
소스 코드를 컴파일하고, 단위 테스트를 실행하고, 배포할 준비가 된 아티팩트를 생성하는 데 도움이 되는 완전 관리형 빌드 서비스입니다. AWS CodeCommit
자체 소스 제어 시스템을 관리할 필요 없이 Git 리포지토리를 비공개로 저장하고 관리할 수 있는 버전 제어 서비스입니다. AWS Command Line Interface (AWS CLI) 는 명령줄 셸의 명령을 통해 AWS 서비스와 상호 작용하는 데 도움이 되는 오픈 소스 도구입니다.
AWS Identity and Access Management (IAM)
을 사용하면 리소스 인증 및 사용 권한을 부여받은 사용자를 제어하여 AWS 리소스에 대한 액세스를 안전하게 관리할 수 있습니다. Amazon Simple Storage Service(S3)
는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.
모범 사례
보안 모범 사례로, 파이프라인에 연결되는 소스 리포지토리에 암호화 및 인증을 사용할 수 있습니다. 추가 모범 사례는 설명서의 CodePipeline 모범 사례 및 사용 사례를 참조하십시오. CodePipeline
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
샘플 애플리케이션을 구성하고 배포합니다. |
| AWS DevOps |
대시보드와 경보를 자동으로 생성합니다. | 샘플 애플리케이션을 배포한 후에는 이 솔루션이 지원하는 모든 리소스를 예상 태그 값으로 만들 수 있습니다. 그러면 지정된 대시보드와 경보가 자동으로 생성됩니다. 이 솔루션을 테스트하려면 함수를 AWS Lambda 생성하십시오.
| AWS DevOps |
작업 | 설명 | 필요한 기술 |
---|---|---|
|
| AWS DevOps |
문제 해결
문제 | Solution |
---|---|
Python 명령을 찾을 수 없습니다 (8행 | 설치된 Python 버전을 확인하십시오. Python 버전 3을 설치한 경우 |
관련 리소스
부트스트래핑 (설명서)AWS CDK
이름이 지정된 프로필 사용 (문서)AWS CLI
추가 정보
다음 그림은 이 솔루션의 일부로 생성된 Amazon RDS용 샘플 대시보드를 보여줍니다.
![Amazon RDS용 샘플 대시보드](images/pattern-img/f234fe30-87db-446f-a291-d33928ca2ccb/images/706a262f-8650-47ff-ac44-e04ce5f4023e.png)