

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 태그 기반 Amazon CloudWatch 대시보드 자동 생성
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically"></a>

*Janak Vadaria, Vinodkumar Mandalapu, RAJNEESH TYAGI, Amazon Web Services*

## 요약
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-summary"></a>

다른 Amazon CloudWatch 대시보드를 수동으로 생성하는 것은 특히 환경을 자동으로 확장하기 위해 여러 리소스를 생성하고 업데이트해야 하는 경우 시간이 많이 걸릴 수 있습니다. CloudWatch 대시보드를 자동으로 생성하고 업데이트하는 솔루션은 시간을 절약할 수 있습니다. 이 패턴은 태그 변경 이벤트를 기반으로 AWS 리소스에 대한 CloudWatch 대시보드를 생성하고 업데이트하여 Golden Signals 지표를 표시하는 완전 자동화된 AWS Cloud Development Kit (AWS CDK) 파이프라인을 배포하는 데 도움이 됩니다.

사이트 신뢰성 엔지니어링(SRE)에서 Golden Signals는 사용자 또는 소비자 관점에서 서비스에 대한 광범위한 보기를 제공하는 포괄적인 지표 세트를 말합니다. 이러한 지표는 지연 시간, 트래픽, 오류 및 포화도로 구성됩니다. 자세한 내용은 AWS 웹 사이트의 [사이트 신뢰성 엔지니어링(SRE)이란 무엇입니까?](https://aws.amazon.com/what-is/sre/)를 참조하세요.

이 패턴에서 제공하는 솔루션은 이벤트 기반입니다. 배포된 후에는 태그 변경 이벤트를 지속적으로 모니터링하고 CloudWatch 대시보드 및 경보를 자동으로 업데이트합니다.

## 사전 조건 및 제한 사항
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-prereqs"></a>

** 사전 조건 **
+ 활성 AWS 계정
+ AWS Command Line Interface (AWS CLI), [설치 및 구성](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)됨
+  AWS CDK v2[의 사전 조건](https://docs.aws.amazon.com/cdk/v2/guide/work-with.html#work-with-prerequisites) 
+ 의 [부트스트래핑된 환경](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) AWS
+ [Python 버전 3](https://www.python.org/downloads/)
+ [AWS SDK for Python(Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html), 설치됨
+ Node.js 버전 18 이상
+ 에 대해 [설치 및 구성된](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) 노드 패키지 관리자(npm) AWS CDK
+  AWS CDK 및에 대한 보통(레벨 200)의 친숙도 AWS CodePipeline

**제한 사항 **

이 솔루션은 현재 다음 AWS 서비스에 대해서만 자동 대시보드를 생성합니다.
+ [Amazon Relational Database Service(RDS)](https://aws.amazon.com/rds/)
+ [AWS Auto Scaling](https://aws.amazon.com/autoscaling/)
+ [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns/)
+ [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)
+ [AWS Lambda](https://aws.amazon.com/lambda/)

## 아키텍처
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-architecture"></a>

**대상 기술 스택**
+ [CloudWatch 대시보드](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)
+ [CloudWatch 경보](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)

**대상 아키텍처 **

![태그 기반 CloudWatch 대시보드를 생성하기 위한 대상 아키텍처](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/f234fe30-87db-446f-a291-d33928ca2ccb/images/f63ca697-f252-416d-8a1b-0239f38c10c5.png)


1. 구성된 애플리케이션 AWS 태그 또는 코드 변경에 대한 태그 변경 이벤트는에서 파이프라인을 시작하여 업데이트된 CloudWatch 대시보드 AWS CodePipeline 를 빌드하고 배포합니다.

1. AWS CodeBuild 는 Python 스크립트를 실행하여 태그를 구성한 리소스를 찾고 리소스 IDs를 CodeBuild 환경의 로컬 파일에 저장합니다.

1. CodeBuild는 **cdk 구문**을 실행하여 CloudWatch 대시보드 및 경보를 배포하는 CloudFormation 템플릿을 생성합니다.

1. CodePipeline은 지정된 AWS 계정 및 리전에 CloudFormation 템플릿을 배포합니다.

1.  CloudFormation 스택이 성공적으로 배포되면 CloudWatch 대시보드 및 경보를 볼 수 있습니다.

**자동화 및 규모 조정**

이 솔루션은를 사용하여 자동화되었습니다 AWS CDK. Amazon CloudWatch 리포지토리의 GitHub Golden Signals Dashboards에서 코드를 찾을 수 있습니다. [ Amazon CloudWatch](https://github.com/aws-samples/golden-signals-dashboards-sample-app) 추가 조정 및 사용자 지정 대시보드 생성을 위해 여러 태그 키와 값을 구성할 수 있습니다.

## 도구
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-tools"></a>

**Amazon 서비스**
+ [Amazon EventBridge](https://aws.amazon.com/eventbridge/)는 애플리케이션을 AWS Lambda 함수, API 대상을 사용하는 HTTP 호출 엔드포인트 또는 다른의 이벤트 버스를 비롯한 다양한 소스의 실시간 데이터와 연결하는 데 도움이 되는 서버리스 이벤트 버스 서비스입니다 AWS 계정.
+ [AWS CodePipeline](https://aws.amazon.com/codepipeline/)은 소프트웨어 릴리스의 여러 단계를 신속하게 모델링하고 구성하고 소프트웨어 변경 내용을 지속적으로 릴리스하는 데 필요한 단계를 자동화합니다.
+ [AWS CodeBuild](https://aws.amazon.com/codebuild/)는 소스 코드를 컴파일하고 유닛 테스트를 실행하며 배포할 준비가 완료된 아티팩트를 생성하는 완전 관리형 빌드 서비스입니다.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)는 명령줄 셸의 명령을 통해 AWS 서비스와 상호 작용하는 데 도움이 되는 오픈 소스 도구입니다.
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/)는 AWS 리소스에 대한 액세스를 인증하고 사용할 수 있는 권한을 부여받은 사용자를 제어하여 리소스에 대한 액세스를 안전하게 관리하는 데 도움이 됩니다.
+ [Amazon Simple Storage Service(S3)](https://aws.amazon.com/s3/)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.

## 모범 사례
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-best-practices"></a>

파이프라인에 연결하는 소스 리포지토리에 대해 암호화 및 인증을 사용합니다. 추가 모범 사례는 [CodePipeline 설명서의 CodePipeline 모범 사례 및 사용 사례를](https://docs.aws.amazon.com/codepipeline/latest/userguide/best-practices.html) 참조하세요. CodePipeline 

## 에픽
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-epics"></a>

### 샘플 애플리케이션을 배포 및 테스트합니다.
<a name="configure-and-deploy-the-sample-application"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
|  샘플 애플리케이션을 배포 및 테스트합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | DevOps | 
| 대시보드와 경보를 자동으로 생성합니다. | 샘플 애플리케이션을 배포한 후이 솔루션이 지원하는 리소스를 예상 태그 값으로 생성할 수 있습니다. 그러면 지정된 대시보드와 경보가 자동으로 생성됩니다.<br />이 솔루션을 테스트하려면 AWS Lambda 함수를 생성합니다.[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | DevOps | 

### 샘플 애플리케이션 실행
<a name="remove-the-sample-application"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| `golden-signals-dashboard` 구문을 제거합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | DevOps | 

## 문제 해결
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-troubleshooting"></a>


| 문제 | Solution | 
| --- | --- | 
| Python 명령을 찾을 수 없습니다(`findresources.sh`, 8행 참조). | GRUB 설치의 버전을 확인합니다. Python 버전 3을 설치한 경우 `resources.sh` 파일의 8행`python3`에서를 `python`로 바꾸고 `sh deploy.sh` 명령을 다시 실행하여 솔루션을 배포합니다. | 

## 관련 리소스
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-resources"></a>
+ [부트스트래핑](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html)(AWS CDK 문서화)
+ [명명된 프로필 사용](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-methods)(AWS CLI 문서)
+ [AWS CDK 워크숍](https://cdkworkshop.com/)

## 추가 정보
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-additional"></a>

다음 그림은이 솔루션의 일부로 생성된 Amazon RDS용 샘플 대시보드를 보여줍니다.

![Amazon RDS용 샘플 대시보드](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/f234fe30-87db-446f-a291-d33928ca2ccb/images/706a262f-8650-47ff-ac44-e04ce5f4023e.png)
