Amazon Web Services ブログ
AWS Systems Manager と Amazon CloudWatch を使用したハイブリッドおよびマルチクラウド環境の監視
お客様がクラウドへの移行を加速し、ビジネスを変革するにつれ、ハイブリッドまたはマルチクラウド環境で IT 運用を管理しなければならない場合があります。
これらのお客様は、アプリケーションとインフラストラクチャの運用に関して、さらなる複雑さに直面しています。多くの場合、ITリソースのプロビジョニング、管理、ガバナンス、アプリケーションの健全性の監視、および複数の場所に保存されているデータの収集と分析のために、複数のプロバイダーのソリューションを使用する必要があります。
この記事では、Microsoft Azure (Azure) や Google Cloud Platform (GCP) などの他のパブリッククラウドプロバイダーにデプロイされているワークロードを監視するために、組織が AWS サービスを使用する方法を紹介します。
ソリューションシナリオ
この記事では、Azure と GCP にデプロイされたワークロードに対して、AWS で以下のモニタリングソリューションを実装しています。
- マルチクラウド環境でのワークロードの監視をサポートするために必要なセットアップ
- Azure と GCP でプロビジョニングされた、Linux ベースの VM にデプロイされたアプリケーションの監視
- AWS 上で他のクラウドプロバイダーからのログとメトリクスを取得
- ワークロードの監視と洞察を提供するための、AWS 上のオブザーバビリティダッシュボードを構築
この記事は、ユースケースの網羅的なリストをカバーするものではありません。または、AWS がマルチクラウド環境を監視するために提供するすべての機能を紹介するものでもありません。この記事の目的は、AWS Observability のツールとサービスが、組織のマルチクラウドモニタリング要件を満たすことができ、アプリケーションの種類やプラットフォームに制約されないことを説明することです。
環境セットアップ
このセクションでは、マルチクラウド環境にデプロイされたワークロードのモニタリングを可能にするように、AWS サービスの、セットアップと設定のステップについて説明します。
AWS Systems Manager (SSM) のロール、権限、およびリソースを設定する
- ハイブリッドおよびマルチクラウド環境に Systems Manager をセットアップする のステップに従ってください。これらのステップは以下のとおりです。
- ハイブリッドおよびマルチクラウド環境用の IAM サービスロールを作成します。この IAM ロールに CloudWatchAgentServerPolicy を追加します。
- ハイブリッドおよびマルチクラウド環境向けのハイブリッドアクティベーションを作成します。
- ハイブリッドおよびマルチクラウド環境 (Linux) には SSM Agent をインストールする か、ハイブリッドおよびマルチクラウド環境 (Windows) には SSM Agent をインストールします。
ハイブリッドおよびマルチクラウド環境で Amazon EC2 インスタンスと EC2 以外のマシンの両方を使用する場合は、Systems Manager の EC2 インスタンスのセットアップ に従ってください。
- 上記のステップを完了すると、AWS Systems Manager の Fleet Manager コンソールにすべてのマネージドノードが表示されます。オンプレミスおよびマルチクラウドのシナリオで、ハイブリッドアクティベーションを使用してマネージドノードとして構成された仮想マシン (VM) には、以下の図 1 に示すように「mi-」というプレフィックスが付きます。

図 1. AWS SSM Fleet Manager
- 下の図 2 に示すように、Fleet Manager コンソールでマネージドノードを選択してタグを追加します。

図 2. マネージドインスタンスタグ
- [オプション] Session Manager を使用して EC2 以外のノードに接続する場合は、アドバンストインスタンス層を使用します。アドバンストインスタンス層を使用するようにマルチクラウド環境を構成するには、アドバンストインスタンス層を有効にする を参照してください。
ログとメトリクスを取得するように Amazon CloudWatch Agent をインストールして設定する
- AWS Systems Manager Run Command を使用し、AWS-ConfigureAWSPackage ドキュメントを選択して、マネージドインスタンスに CloudWatch エージェントをインストールします。
- SSM Agent と 統合された CloudWatch エージェントが、一時的な AWS 認証情報を使用するようにマネージドインスタンスを設定します。方法については、ナレッジセンターの記事 を参照してください。
- すべてのマネージドインスタンスで取得したいシステムログとメトリクスを含む標準的な Amazon CloudWatch エージェント設定を作成することをお勧めします。CloudWatch 設定の管理に関する規範的なガイダンスについては、CloudWatch エージェント設定ファイルの管理 を参照してください。
EC2、Azure VM、GCP VM の設定は、図 3 で示すように Systems Manager Parameter Store に保存しました。CloudWatch エージェント 設定ファイルウィザード を使用して設定ファイルを作成した場合、または ファイルを手動で作成 した場合は、次のステップでその設定ファイルを使用して CloudWatch エージェントを起動します。

図 3. AWS SSM Parameter Store
- 以下の図 4、5、6 に示すように、Systems Manager Run Command を使用して AmazonCloudWatch-ManageAgent ドキュメントを選択することで、CloudWatch エージェントを設定し、起動します。

図 4.AWS SSM Run Command

図 5. AWS SSM Run Command パラメーター

図 6. マネージドインスタンスのターゲット選択
ターゲットにするマネージドインスタンスを手動で選択する代わりに、前のステップで定義したインスタンスタグを指定していることに注意してください。
AWS でのエンドツーエンド モニタリング
AWS のモニタリングとオブザーバビリティサービスは、オンプレミス、その他のクラウドプラットフォーム、AWS 環境のモニタリングを可能にし、モニタリングのための単一のコンソールを提供します。このセクションでは、組織がマルチクラウド環境を総合的に監視する方法を説明します。このシナリオでは、前のセクションで説明した手順を使用して、Azure と GCP にデプロイされた VM を構成します。
CloudWatch メトリクス
図 7、8、9 は、Azure と GCP のマネージドインスタンスから取得されたメトリクスを示します。Azure/VM や GCP/VM などのカスタム名前空間は、上記のステップ 3 の CloudWatch エージェント設定ファイルの metrics セクションで指定されています。EC2 インスタンスのメトリクスは、図 7 で強調表示されているように AWS/Instances 名前空間に格納されます。

図 7. CloudWatch メトリクスとカスタム名前空間

図 8. CloudWatch メトリクス上の Azure VM からのメトリクス

図 9. CloudWatch メトリクス上の GCP VM からのメトリクス
CloudWatch Logs
図 10 は、マネージドインスタンスからログを取り込むために作成された CloudWatch ロググループを示しています。

図 10. CloudWatch ロググループ
図 11 は、GCP で実行されている Debian-Linux VM から Syslog ログを取得するためにロググループ (/GCP/VM) に作成された CloudWatch ログストリームを示しています。

図 11. CloudWatch ロググループのログストリーム
図 12 は、GCP VM からプッシュされたログを示しています。

図 12. GCP VM からの Syslog
CloudWatch ダッシュボード
図 13 は、CloudWatch ダッシュボード を使用して、マルチクラウド環境用に作成できる単一ビューの例です。CloudWatch Metrics Insights や CloudWatch Logs Insights などの強力で高性能な SQL クエリエンジンを使用して、マルチクラウド環境全体のマネージドインスタンス向けに、豊富でカスタマイズ可能で洞察に満ちたダッシュボードを作成します。図 13 の CloudWatch ダッシュボード では、マルチクラウドリソースに関連する CPU/メモリ のメトリクスとログが視覚化されており、パフォーマンスの評価に役立ちます。ダッシュボードは、AWS コンソールから作成することも、AWS CLI や PutDashboard API オペレーションを使用して作成することもできます。

図 13. CloudWatch ダッシュボード
結論
この記事では、Systems Manager と CloudWatch が組織のハイブリッドおよびマルチクラウド環境の監視にどのように役立つかを説明しました。また、Microsoft Azure や Google Cloud Platform などの他のプラットフォームにデプロイされているワークロードについて、組織が AWS でエンドツーエンドのモニタリングを実装する方法についても説明しました。最後に、監視の設定手順、Azure と GCP にデプロイされたアプリケーションを監視する方法、およびオブザーバビリティダッシュボードを構築する方法について説明しました。
著者について
翻訳はテクニカルアカウントマネージャーの日平が担当しました。原文は こちら です。