公開日:2021年7月21日最終更新日: 2021年10月6日
AWSのリソース状態などを管理できるサービスに「CloudWatch」があります。AWSの利用者ならば必ず利用しているサービスと言っても過言ではないでしょう。
このCloudWatchは日々機能が追加されていて、先日「Resource Health」と呼ばれるものが追加されました。今回は新しく追加されたResource Healthとはどのような機能であるのかを解説します。
目次 <Contents>
Resource HealthはCloudWatchの新機能
冒頭でも説明した通り、Resource HealthはCloudWatchのサービスの1つです。具体的にどのようなサービスであるのか最初に解説します。
Resource Healthでできること
Resource Healthでは以下の機能が実装されています。
- インスタンスを一覧管理できる
- インスタンスの状態を様々な観点で表示できる
- インスタンスに関連するメトリクスを表示できる(ELB・AutoScalingなど)
大まかに説明するとこれらの機能が追加されています。あくまでもCloudWatchの機能追加ですので、多くの機能が一気に追加されたわけではありません。
ただ、視覚的に管理しているEC2インスタンスの状態を一覧表示できる機能は今までありませんでした。今まではメトリクスなどで個別に確認する必要があった情報が、一覧で視覚的に確認できるようになったのは大きな変化です。
Resource Healthのイメージ
具体的なResource HealthのイメージはAWSの公式ブログで公開されています。
表示されている四角ひとつひとつがEC2インスタンスを示しています。個人でこれだけ多くのインスタンスを管理するケースはほとんど無いと思われますので、イメージを掴むには公式ブログの表示が適しています。
なお、ここで表示されているResource Healthは標準の状態です。続いてはResource Healthの表示カスタマイズなど、使い方について解説します(参考:Introducing CloudWatch Resource Health to monitor your EC2 hosts)。
Resource Healthの始め方
Resource HealthはCloudWatchの機能です。そのため、実は利用を開始するにあたり追加でサービスを開始するなどの作業は必要ありません。CloudWatchを利用できる標準的な状態であれば、CloudWatchも利用できるようになっています。
ただ、事前準備をしなければ正常に動作しない部分もあります。念のための確認も含めて説明していきます。
事前準備
まず、CloudWatchを正常に動作させたりResource Healthで状態を閲覧するためには、適切な権限付与が必要です。AWSの公式アナウンスによると以下のとおり権限付与するのが理想とされています。念の為に以下のとおり十分な権限を付与させておきましょう。
{
"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": "*"
}
]
}
こちらの権限を付与しておけばResource Healthの利用ができます。もし権限の付与が難しい場合は、対象となるユーザに対して「AWSマネジメントコンソールへのアクセス」から「既存のポリシーを直接アタッチ」とし、ReadOnlyAccessを付与しておきましょう。
その名の通り読み込みしかできないアカウントとはなってしまいますが、Resource Healthを正常に利用するとの観点だけであればこちらで問題ありません。AWSのスキルに応じて利用しやすい方法を選択してください。
ビューの変更
基本的にはビューはAWSのブログで参考としたような四角形の羅列となっています。「一覧表示」を押すと表示が変更できます。
変更前
変更後
マップ表示ではインスタンスにフォーカスを当てなければ詳細が表示されません。しかし、一覧表示ではそれぞれのインスタンスの状態をリスト形式で表示できます。
とはいえ、リスト表示にしてしまうとResource Healthが視覚的にインスタンスの状態を表示してくれるメリットが薄れてしまいます。視覚的な見やすさを重視するならば、マップ表示がおすすめです。
閾値の変更
マップ表示では標準で25%単位の閾値と色が定められています。このままでも利用できますが、自分の要件に沿うように変更が可能です。
1変更するには、画面右上の設定ボタンをクリックします。
2グラフのオプション画面が表示されますので、こちらで要件に沿うものに変更します。
3確認ボタンをクリックすると設定が変更されます。
アラーム状態
1メトリクスにアラーム状態が含まれる場合、それを表示するオプションがあります。
2アラーム状態のEC2インスタンスがあると画像のように警告マークが表示されます。
アラーム状態を表示すれば、万が一トラブルが発生してもいち早く気づけます。アラーム状態とするために適切なアラーム設定が必要ですので、Resource Healthを利用する以前にまずはアラーム設定をするべきです。
グループ化
必要に応じてインスタンスをグループ化できます。以下のとおりグループに分割できるようになっています。
例えばアベイラビリティゾーンでグループ化すると以下のとおりです。
特定のアベイラビリティゾーンでのみトラブルが起きている場合などは、このようにグループ化すると良いでしょう。他にもVPC単位でグループ化できますのでネットワーク単位での状況把握ができますし、AutoScalingで利用しているインスタンス単位として負荷の状況も把握できます。
この例ではインスタンス数が少ないためメリットが薄いような印象を与えてしまいますが、100台や200台と多くのインスタンスを管理する場合はグループ化が役立ちます。これからグループ化の種類が増える可能性もありますので、管理台数が多い場合には上手く扱えるようになっておきたい機能です。
まとめ
CloudWatchの新しい機能であるResource Healthについてご説明しました。今までのCloudWatchも多くの機能がありましたが、Resource Healthでは視覚化が強化されています。そのため、今まで以上に直感的にEC2の状態を把握できるようになりました。
現状でも視覚的で分かりやすいものですが、グループ化などこれから機能追加が期待できる部分もあります。まずは使い方に慣れておき、自分なりに上手く使いこなす方法を考えていきましょう。