[アップデート] EC2 インスタンスの状態をいい感じにマップ表示!CloudWatch Resource Health が追加されました

また CloudWatch に機能増えたの……!? と思ったあなた、安心してください。便利に使えるコンソールが増えたというだけです。

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

コンバンハ、千葉(幸)です。

CloudWatchの新機能、Resource Health が発表されました。

まずは以下を見てください。なんかめっちゃいい感じで EC2 インスタンスの CPU 使用率を表示してくれています。


Introducing CloudWatch Resource Health to monitor your EC2 hosts | AWS Management & Governance Blogより)

とてもワクワクしますね。

で、 Resource Health でできるとことはおおむね以上ですべてです。

AWS マネジメントコンソールで以下を実現できる新たなコンソールが提供された、と考えるとわかりやすいかもしれません。

  • いくつかの観点でインスタンスを一覧表示(マップ、リスト)できる
  • インスタンスの詳細画面で、関連づく以下リソースのメトリクスも一緒に表示できる
    • ELB
    • EBS
    • Auto Scaling Group

料金は発生しませんし、新たなリソースの作成も伴いません。

「なんかまた新機能出て追い切れないな……」と思ったあなた、大丈夫です。簡単です。でも眺めるのは楽しいです。とりあえず触ってみて完全に理解しましょう。

前提条件

Resource Health は特別な操作(有効化、オプトインなど)は不要ですぐ使い始められます。

ただ、コンソールを操作する際の権限は考慮が必要です。以下の権限を有していることで、すべての Resource Health の機能を使用できます。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "autoscaling:Describe*",
                "cloudwatch:Describe*",
                "cloudwatch:Describe*",
                "cloudwatch:Get*",
                "cloudwatch:List*",
                "logs:Get*",
                "logs:Describe*",
                "sns:Get*",
                "sns:List*",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceStatus",
                "ec2:DescribeRegions"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

これより少なくても機能は使用できますが、一部のデータの表示で制限を受ける可能性があります。ReadOnlyAccessが付与されていれば問題ありません。

とにかく見てみよう

CloudWatch サービス画面から Resource Health を選択しましょう。もう見えます。

画面上部でできる設定

画面上部では以下の操作が可能です。

  • 表示形式の切り替え
  • しきい値と色の設定
  • 画面更新の設定
  • 全画面表示

CloudWatch_Management_ConsoleRH-2374752

全画面表示は説明するまでもないので、他の三つを取り上げます。

表示形式の切り替え

マップ形式についてはこの後も取り上げるので、簡単にリスト形式の紹介をしておきます。

リスト形式では以下のようにインスタンスの一覧を表示できます。

CloudWatch_Management_ConsoleRH-2374944

列の項目は以下の通りで、カスタマイズはできません。

  • インスタンス名
  • インスタンス ID
  • CPU 使用率
  • メモリ使用率(カスタムメトリクスとして取得できている必要あり)
  • インスタンスタイプ
  • ステータスチェック
  • インスタンスの状態
  • アベイラビリティゾーン

EC2 インスタンスのコンソール画面から確認できるのと似た内容ですが、CPU やメモリの使用率を含められるのはここならではですね。

しきい値と色の設定

CPU 使用率とメモリ使用率について、マップ表示で表される色をカスタマイズできます。

CloudWatch_Management_ConsoleRH-2375245

画面の更新

リロードボタンを押せば手動での更新ができますし、自動更新の間隔として以下を設定できます。

  • オフ(デフォルト)
  • 10 秒
  • 1 分
  • 2 分
  • 5 分
  • 15 分

ビューのカスタマイズ

マップ形式の場合、画面左側から様々なカスタマイズができます。

CloudWatch_Management_ConsoleRH-2375339

色付け条件

以下のいずれかからマップに表示する内容を切り替えできます。

  • CPU 使用率
  • メモリ使用率
  • ステータスチェック
  • なし

CloudWatch_Management_Console_RHcolor

条件を切り替えれば色の凡例を一緒に表示してくれるので迷うこともありません。

CloudWatch_Management_ConsoleRH-2375552

アラームの表示

チェックを入れることで、マップ上にアラーム状態のインスタンスを表示できます。

CloudWatch_Management_ConsoleRH-2375779

手元の環境で該当するものがなかったため、冒頭のブログから再び引用します。以下のようにマークがついていることがわかります。

グルーピング

以下の条件でマップをグルーピングできます。

  • アベイラビリティゾーン
  • VPC
  • Auto Scaling グループ
  • インスタンスタイプ
  • イメージ ID
  • CPU アーキテクチャ
  • インスタンスの状態
  • インスタンスのライフライサイクル

CloudWatch_Management_ConsoleRH-2375913

例えばインスタンスタイプでグルーピングした際のイメージは以下です。

CloudWatch_Management_ConsoleRH-2375971

フィルター条件

以下の条件でフィルタリングできます。

  • Auto Scaling グループ
  • アベイラビリティゾーン
  • CPU 使用率
  • EBS ボリューム
  • インスタンスタイプ
  • インスタンスのライフサイクル
  • ロードバランサー
  • メモリ使用率
  • セキュリティグループ
  • インスタンスの状態
  • ステータスチェック
  • タグ

CloudWatch_Management_ConsoleRH-2376127

項目を選択すると値の候補が表示されるため、選択することでフィルタリングがかかります。複数条件を設定することもできます。

CloudWatch_Management_ConsoleRH-2376242

並び替え条件

並び替えに使用する属性を以下から選択できます。

  • ステータスチェック
  • 状態
  • メモリ
  • CPU
  • アラーム状態のアラーム

左から順に並び替えられます。デフォルトでは昇順で、降順に切り替えることもできます。(画面上部に切り替えボタンあり。)

以下は CPU 使用率が少ない順に左上から並んでいる例です。(データなしは末尾)

CloudWatch_Management_ConsoleRH-2376363

インスタンスのダッシュボード表示

マップ上のインスタンスを選択すると、詳細画面が開きます。

各種情報が確認できるほか、ここからのフィルタリング操作や、EC2 インスタンスサービス画面でのインスタンス詳細画面に遷移することもできます。

CloudWatch_Management_ConsoleRH-2376696

CloudWatch Resource Health のインスタンス個別のダッシュボードに遷移する場合は、「ダッシュボードを表示」を押下します。

以下のようなインスタンス個別のダッシュボードが表示されます。

CloudWatch_Management_ConsoleRH-2377191

ダッシュボード画面上部の設定

取り立てて新しい部分はありませんが、以下部分について触れておきます。

CloudWatch_Management_ConsoleRH-2377576

settings.overrides.messagesLabel.singularという難しい言葉が書かれていますが、英語に切り替えると単に「 1 message」とだけ表示されています。

押下するとメッセージが開きますが、その内容も「詳細モニタリングが有効じゃない」というシンプルなもので、有効化するための設定画面へのリンクボタンが用意されているのみです。日本語表示だとうまく表示できていないだけのようなので、ここは追々対応するのを待ちましょう。

CloudWatch_Management_ConsoleRH-2377876

詳細モニタリングが有効なインスタンスの場合、この表示自体がありません。

関連リソースのメトリクスの追加

対象のインスタンスに関連づく以下リソースが存在する場合、チェックボックスで選択することでそのリソースのデータをダッシュボードに追加できます。

  • ELB
  • EBS
  • Auto Scaling Group

CloudWatch_Management_ConsoleRH-2378015

ありそうでなかった、ちょっと嬉しい機能ですね。

その他関連情報

ダッシュボードを下にスクロールしていくと、以下の情報が記載されています。

  • インスタンスが所属するアベイラビリティゾーンでフィルタリングされたマップ
  • インスタンスの概要

CloudWatch_Management_ConsoleRH-2378291

まぁこのあたりは……はい、普通ですね。もちろん情報として嬉しいものです。

ここでのマップのフィルタリング条件としてアベイラビリティゾーン以外のもの、例えば「同じサブネットに属するインスタンス」などでフィルタリングできるとより便利そうですね。というフィードバックを送ってみました。

皆さんも使用する上で改善ポイントが思い浮かんだらフィードバックしてみてはいかがでしょうか。

終わりに

CloudWatch の新機能、Resource Health の確認でした。

取り立てて追加の設定も利用料も不要、新たな観点でインスタンス群をモニタリングできるようになった便利コンソール、という理解をしました。

特に規模が大きい環境では、状態を一元で視覚化できるのは嬉しいのではないでしょうか。

ところどころ表示の意味がわかりづらいな……と思った部分は英語に切り替えると分かりやすい表現に置き換わったので、初見で意味が分からない箇所があったら言語を切り替えたり、フィードバックすることをおすすめします。

以上、千葉(幸)がお送りしました。

参考