翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
タグベースの Amazon CloudWatch ダッシュボードを自動的に作成する
Amazon Web Services、Janak Vadaria、Vinodkumar Mandalapu、RAJNEESH TYAGI
概要
さまざまな Amazon CloudWatch ダッシュボードを手動で作成すると、特に環境を自動的にスケールするために複数のリソースを作成および更新する必要がある場合、時間がかかることがあります。CloudWatch ダッシュボードを自動的に作成および更新するソリューションを使用すると、時間を節約できます。このパターンは、タグ変更イベントに基づいて AWS リソースの CloudWatch ダッシュボードを作成および更新する完全自動化された AWS Cloud Development Kit (AWS CDK) パイプラインをデプロイして、Golden Signals メトリクスを表示するのに役立ちます。
サイト信頼性エンジニアリング (SRE) では、Golden Signals は、ユーザーまたは消費者の観点からサービスの広範な視点を提供する包括的なメトリックのセットを指します。これらのメトリックは、遅延時間、通信量、エラー、飽和度で構成されます。詳細については、 AWS ウェブサイトの「サイト信頼性エンジニアリング (SRE) とは
このパターンが提供するソリューションは、イベント駆動型です。ソルーションの展開後、タグ変更イベントを継続的にモニタリングし、CloudWatch ダッシュボードとアラームを自動的に更新します。
前提条件と制限事項
前提条件
アクティブな AWS アカウント
AWS Command Line Interface (AWS CLI)、インストールおよび設定済み
v2 AWS CDK の前提条件
のブートストラップされた環境 AWS
AWS SDK for Python (Boto3)
、インストール済み Node.js
バージョン 18 以降 用にインストールおよび設定された
ノードパッケージマネージャー (npm) AWS CDK AWS CDK および に関する中程度 (レベル 200) の知識 AWS CodePipeline
制限事項
このソリューションは現在、次の AWS サービスのみに対して自動ダッシュボードを作成します。
アーキテクチャ
ターゲットテクノロジースタック
ターゲットアーキテクチャ

設定されたアプリケーション AWS タグまたはコード変更のタグ変更イベントは、更新された CloudWatch ダッシュボードを構築およびデプロイ AWS CodePipeline するためのパイプラインを で開始します。
AWS CodeBuild は Python スクリプトを実行してタグを設定したリソースを検索し、リソース IDs を CodeBuild 環境のローカルファイルに保存します。
CodeBuild は cdk 同期を実行して、CloudWatch ダッシュボードとアラームをデプロイする CloudFormation テンプレートを生成します。
CodePipeline は、指定された AWS アカウント およびリージョンに CloudFormation テンプレートをデプロイします。
CloudFormation スタックが正常にデプロイされると、CloudWatch ダッシュボードとアラームを表示できます。
自動化とスケール
このソリューションは、 を使用して自動化されています AWS CDK。このコードは、GitHub の「Amazon CloudWatch の Golden Signals ダッシュボード
ツール
Amazon サービス
Amazon EventBridge
は、 AWS Lambda 関数、API 送信先を使用する HTTP 呼び出しエンドポイント、その他のイベントバスなど、さまざまなソースからのリアルタイムデータにアプリケーションを接続するのに役立つサーバーレスイベントバスサービスです AWS アカウント。 AWS CodePipeline
は、ソフトウェアリリースのさまざまなステージを迅速にモデル化および設定し、ソフトウェアの変更を継続的にリリースするために必要なステップを自動化するのに役立ちます。 AWS CodeBuild
は完全な管理型の構築サービスです。ソースコードのコンパイル、ユニットテストの実行、すぐに展開できるアーティファクトの生成に役立ちます。 AWS Command Line Interface (AWS CLI) は、コマンドラインシェルのコマンドを通じて AWS のサービスを操作するのに役立つオープンソースツールです。
AWS Identity and Access Management (IAM)
は、誰を認証し、誰に使用する権限を付与するかを制御することで、 AWS リソースへのアクセスを安全に管理するのに役立ちます。 Amazon Simple Storage Service (Amazon S3)
は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。
ベストプラクティス
安全に関する最良の手法として、パイプラインに接続するソースリポジトリには暗号化と認証が使用できます。その他の最良の手法については、「CodePipeline ドキュメント」の「CodePipeline のベストプラクティスとユースケース」を参照してください。
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
サンプルアプリケーションを設定して展開する。 |
| AWS DevOps |
ダッシュボードとアラームを自動的に作成する。 | サンプルアプリケーションを展開した後、このソリューションが対応する任意のリソースを予定したタグ値で作成できます。これにより、指定したダッシュボードとアラームが自動的に作成されます。 このソリューションをテストするには、 AWS Lambda 関数を作成します。
| AWS DevOps |
| タスク | 説明 | 必要なスキル |
|---|---|---|
|
| AWS DevOps |
トラブルシューティング
| 問題 | ソリューション |
|---|---|
Python コマンドが見つかりません ( | Python インストールのバージョンを確認します。Python バージョン 3 をインストールしている場合は、 |
関連リソース
ブートストラップ (AWS CDK ドキュメント)
名前付きプロファイルの使用 (AWS CLI ドキュメント)
追加情報
次の図は、このソリューションの一部として作成された Amazon RDS のサンプルダッシュボードを示しています。
