

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# タグベースの Amazon CloudWatch ダッシュボードを自動的に作成する
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically"></a>

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

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

さまざまな Amazon CloudWatch ダッシュボードを手動で作成すると、特に環境を自動的にスケールするために複数のリソースを作成および更新する必要がある場合、時間がかかることがあります。CloudWatch ダッシュボードを自動的に作成および更新するソリューションを使用すると、時間を節約できます。このパターンは、タグ変更イベントに基づいて AWS リソースの CloudWatch ダッシュボードを作成および更新する完全自動化された AWS Cloud Development Kit (AWS CDK) パイプラインをデプロイして、Golden Signals メトリクスを表示するのに役立ちます。

サイト信頼性エンジニアリング (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)済み
+ v2 AWS CDK [の前提条件](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](https://nodejs.org/en/download/current) バージョン 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](https://aws.amazon.com/rds/) (Amazon 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/ja_jp/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。このコードは、GitHub の「[Amazon CloudWatch の Golden Signals ダッシュボード](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 (Amazon 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)」を参照してください。

## エピック
<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/ja_jp/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 
| ダッシュボードとアラームを自動的に作成する。 | サンプルアプリケーションを展開した後、このソリューションが対応する任意のリソースを予定したタグ値で作成できます。これにより、指定したダッシュボードとアラームが自動的に作成されます。<br />このソリューションをテストするには、 AWS Lambda 関数を作成します。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 

### サンプルアプリケーションを削除する
<a name="remove-the-sample-application"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| `golden-signals-dashboard` コンストラクトを削除する。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 

## トラブルシューティング
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-troubleshooting"></a>


| 問題 | ソリューション | 
| --- | --- | 
| Python コマンドが見つかりません (`findresources.sh` の 8 行目を参照)。 | Python インストールのバージョンを確認します。Python バージョン 3 をインストールしている場合は、`resources.sh` ファイルの 8 行目で `python` を `python3` に置き換え、`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/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/f234fe30-87db-446f-a291-d33928ca2ccb/images/706a262f-8650-47ff-ac44-e04ce5f4023e.png)
