翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
タグベースの Amazon CloudWatch ダッシュボードを自動的に作成する
作成者: Janak Vadaria (AWS)、RAJNEESH TYAGI (AWS)、Vinodkumar Mandalapu (AWS)
コードリポジトリ: Goldensignals | 環境:本稼働 | テクノロジー: オペレーション CloudNative、管理とガバナンス |
AWS サービス: AWS CDK、Amazon CloudWatch、AWS CodeBuild、AWS CodePipeline |
[概要]
さまざまな Amazon CloudWatch ダッシュボードを手動で作成すると、特に環境を自動的にスケーリングするために複数のリソースを作成および更新する必要がある場合に、時間がかかることがあります。 CloudWatch ダッシュボードを自動的に作成および更新するソリューションを使用すると、時間を節約できます。このパターンは、タグ変更イベントに基づいて AWS リソースの CloudWatch ダッシュボードを作成および更新する完全自動化された AWS Cloud Development Kit (AWS CDK) パイプラインをデプロイして、Golden Signals メトリクスを表示するのに役立ちます。
サイト信頼性エンジニアリング (SRE) では、Golden Signals は、ユーザーまたはコンシューマーの観点からサービスを幅広く把握できる包括的なメトリクスのセットを指します。これらのメトリクスは、レイテンシー、トラフィック、エラー、飽和度で構成されます。詳細については、 ウェブサイトの「サイト信頼性エンジニアリング (SRE) とは
このパターンが提供するソリューションは、イベント駆動型です。デプロイ後、タグ変更イベントを継続的にモニタリングし、 CloudWatch ダッシュボードとアラームを自動的に更新します。
前提条件と制限
前提条件
アクティブな AWS アカウント
AWS Command Line Interface (AWS CLI)、インストールおよび設定済み
AWS CDK v2 の前提条件
のブートストラップされた環境 AWS
AWS SDK for Python (Boto3)
、インストール済み ノードパッケージマネージャー (npm)、 用にインストールおよび設定
AWS CDK AWS CDK および に精通している中程度 (レベル 200) AWS CodePipeline
制約事項
このソリューションは現在、次の AWS サービスのみの自動ダッシュボードを作成します。
アーキテクチャ
ターゲットテクノロジースタック
ターゲット アーキテクチャ
設定されたアプリケーション AWS タグまたはコード変更のタグ変更イベントにより、 でパイプラインが開始され AWS CodePipeline 、更新された CloudWatch ダッシュボードが構築およびデプロイされます。
AWS CodeBuild は Python スクリプトを実行してタグを設定しているリソースを検索し、リソース IDsを CodeBuild 環境のローカルファイルに保存します。
CodeBuild は cdk 同期を実行して、 CloudWatch ダッシュボードとアラームをデプロイする AWS CloudFormation テンプレートを生成します。
CodePipeline は、指定された AWS アカウント およびリージョンに AWS CloudFormation テンプレートをデプロイします。
AWS CloudFormation スタックが正常にデプロイされると、 CloudWatch ダッシュボードとアラームを表示できます。
自動化とスケール
このソリューションは、 を使用して自動化されています AWS CDK。このコードは、 GitHub Amazon リポジトリの Golden Signals Dashboards にあります CloudWatch
ツール
Amazon サービス
Amazon EventBridge
はサーバーレスイベントバスサービスで、 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 (Amazon S3)
は、どのようなデータ量であっても、データを保存、保護、取得することを支援するクラウドベースのオブジェクトストレージサービスです。
ベストプラクティス
セキュリティのベストプラクティスとして、パイプラインに接続するソースリポジトリに暗号化と認証を使用できます。その他のベストプラクティスについては、 CodePipeline ドキュメントのCodePipeline 「 のベストプラクティスとユースケース」を参照してください。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
サンプルアプリケーションを設定してデプロイします。 |
| AWS DevOps |
ダッシュボードとアラームを自動的に作成します。 | サンプルアプリケーションをデプロイした後、このソリューションがサポートする任意のリソースを、想定されたタグ値で作成できます。これにより、指定されたダッシュボードとアラームが自動的に作成されます。 このソリューションをテストするには、 AWS Lambda 関数を作成します。
| AWS DevOps |
タスク | 説明 | 必要なスキル |
---|---|---|
|
| AWS DevOps |
トラブルシューティング
問題 | ソリューション |
---|---|
Python コマンドが見つかりません (、8 | Python インストールのバージョンを確認します。Python バージョン 3 をインストールしている場合は、 を |
関連リソース
ブートストラップ (AWS CDK ドキュメント)
名前付きプロファイルの使用 (AWS CLI ドキュメント)
追加情報
次の図は、このソリューションの一部として作成された Amazon RDS のサンプルダッシュボードを示しています。