仮想マシンに関する基本的な監視項目 - AWSとAzureで比較
とある同僚経由で、AWSユーザーのお客様から言われたこと...
"AWS CloudWatchと同じようにAzureの標準サービスで監視したい!"
というわけで、仮想マシンに関して、AWS CloudWatchで監視できる基本的なメトリックを基準に、Azureの標準サービスでの監視を考察してみます。
まず最初に、AWS CloudWatchとAzure Monitorの主要な機能を比較してみます。
利用料金が発生するトリガーが異なりますが、あとは大きな差は無いように思います。
次に、AWS CloudWatchの基本モニタリングで監視可能なメトリックスを基準にして、Azure Monitorで監視可能なメトリックを列挙してみます。
Azureの場合、"NetworkPacketIn"と"NetworkPacketOut"のようなNICが送受信したトラフィックについては、Azure MonitorではなくAzure Log Analytics (ネットワーク パフォーマンス モニター) で監視することが可能です。
また、現時点ではAWS EC2のT2インスタンスのようなバースタブルなインスタンスは無いので、"CPUCreditUsage"と"CPUCreditBalance"の2つのメトリックスも無いです。
上記表以外に、AWS CloudWatchでは、EC2インスタンスのステータスチェックも監視・確認が可能です。
Azureでも、仮想マシンのステータスチェックは可能です。
ただ、サービスはAzure MonitorではなくてAzure Resource Healthになります。
Azure Resource Healthでは、以下の内容について仮想マシンのステータスチェックを行うことが可能です。
- プロビジョニングが完了しているか?
- 正常に起動しているか?
- ホストOS/ゲストOSの起動が完了しているか?
- ホストとストレージアカウント間のネットワークが正常に接続されているか?
- 計画メンテナンスが継続しているか?
Azureの方がサービスが細分化されていて、多少分かりにくいかもしれませんが、AWS CloudWatchの基本モニタリングで出来る監視項目については、Azureの標準サービスでもほぼ同じように監視可能ですよ!
※追伸:
メモリ使用率やディスク使用率をベースにした閾値監視もAzure Log Analytics (パフォーマンス カウンター)にて構成・実装することが可能です。
ご参考
- Amazon CloudWatch - EC2 のメトリックスとディメンションのリファレンス
- Azure Monitor のサポートされるメトリック
- Log Analytics - ネットワーク パフォーマンス モニター
- Azure Resource Health で監視可能なリソース・サービスと正常性チェック項目