はじめる前に
- 必須AWS アカウントを持っていること
- 必須マネジメントコンソールにサインインできること
- 必須EC2 インスタンスを起動した経験があること
- あると良い「CPU 使用率」「ネットワークの送受信量」など、サーバーの状態を表す指標のイメージがある
- あると良い折れ線グラフで時間ごとの変化を読むことに慣れている
※ このハンズオンは すべてコンソールだけで完結します。グラフに動きを出したい場合の負荷のかけ方は任意で、設定だけでもダッシュボードは完成します。
参照する公式ドキュメント
手順に迷ったときや、用語の意味を確かめたいときに開きましょう。
※ リンク切れの場合は、ページタイトルで検索してください。
背景・シナリオ
サーバーの調子を確かめたいとき、CPU 使用率はここ、ネットワークはあそこ……と、指標を 1 つずつ別々の画面で探すのは面倒です。とくに「いま全体としてどんな状態か」をさっと知りたいときには、必要な数字が一か所にまとまっているほうがずっと便利です。
CloudWatch のダッシュボードを使うと、見たいメトリクス(測定値)をグラフのウィジェットとして自由に並べた、自分専用の計器盤を作れます。一度作っておけば、開くだけで主要な指標の動きをまとめて見渡せます。今回は EC2 の CPU 使用率やネットワークをグラフにして、ダッシュボードに並べます。
アラーム(通知)とは何が違うの?
アラームは「条件を超えたら自動で知らせてくれる」仕組み、ダッシュボードは「自分が見にいったときに状態を見渡せる」仕組みです。前者は受け身で待てる通知、後者は能動的に眺める計器盤。役割が違うので、実際には両方を組み合わせて使います。
グラフに出る「メトリクス」って何?
CPU 使用率やネットワーク送受信量のように、リソースの状態を時間ごとに記録した測定値のことです。EC2 などの基本的なメトリクスは、特別な設定なしに CloudWatch へ集まっています。
CloudWatch ダッシュボードを作り、EC2 の CPU 使用率と、もう 1 つ別の指標(ネットワークなど)をグラフのウィジェットとして並べて保存し、あとから開いて状態を見渡せる状態にする。
つくる構成
1 枚のダッシュボードに、見たいメトリクスのグラフ(ウィジェット)を並べます。下は完成イメージです。CPU 使用率やネットワークなどを横に並べ、状態をまとめて見渡せるようにします。
要件
以下の要件を満たすダッシュボードを作成してください。
| No | 要件 |
|---|---|
| 1 | リージョンは「東京(ap-northeast-1)」を使用する。 |
| 2 | グラフに表示する対象として、EC2 インスタンスを 1 台用意する(Amazon Linux 2023、無料利用枠タイプ。名前タグは dashboard-target など)。 |
| 3 | CloudWatch ダッシュボードを 1 つ作成する(名前は my-server-dashboard など)。 |
| 4 | そのインスタンスの CPU 使用率(CPUUtilization)を、折れ線グラフのウィジェットとして追加する。 |
| 5 | もう 1 つ別の指標(例:NetworkIn / NetworkOut / StatusCheckFailed など)のウィジェットを追加する。 |
| 6 | ダッシュボードを保存し、表示期間を変えるとグラフが追従することを確認する。 |
構築の進め方
「対象を用意 → ダッシュボードを作る → ウィジェットを足す → 保存して見方を試す」の順に進みます。最後の保存を忘れないのがポイントです。
-
リージョンを合わせ、対象の EC2 を 1 台用意する
リージョンが東京であることを確認し、グラフに表示する対象として EC2 を 1 台起動します(Amazon Linux 2023・無料利用枠タイプ)。すでに動いているインスタンスがあれば、それを使っても構いません。
メトリクスは自動で集まるEC2 の CPU 使用率やネットワークなどの基本メトリクスは、特別な設定なしに CloudWatch へ集まります(標準では 5 分間隔)。起動直後はデータが少ないので、数分待つとグラフに点が増えていきます。
-
ダッシュボードを作成する
CloudWatchコンソールの左メニュー「ダッシュボード」→「ダッシュボードの作成」を押し、名前(例:my-server-dashboard)を付けて作成します。空のダッシュボードから始まる作成直後のダッシュボードは空っぽです。ここに「ウィジェット」を 1 つずつ足して、自分の見たい計器盤に仕上げていきます。
-
CPU 使用率の折れ線ウィジェットを追加する
「ウィジェットの追加」で「線(折れ線)」を選びます。メトリクスの選択で EC2 →「インスタンス別メトリクス」→ 対象インスタンスの CPUUtilization にチェックを入れ、ウィジェットを作成します。
メトリクスを「探して選ぶ」メトリクスは、サービス(EC2)→ 分類(インスタンス別)→ 対象 → 指標(CPUUtilization)とたどって選びます。どのリソースの・どの数字を見るか、を指定するイメージです。
-
もう 1 つ別の指標のウィジェットを追加する
同じ要領で、「ウィジェットの追加」からもう 1 つグラフを足します。今度は
NetworkIn(受信)やNetworkOut(送信)、StatusCheckFailed(状態チェック)など、別の指標を選んでみましょう。ウィジェットはドラッグで並べ替え・大きさ変更ができます。並べると「見渡せる」価値が出る1 つの指標だけでは分かりにくいことも、複数を並べると関係が見えてきます。たとえば「ネットワークが増えると CPU も上がる」といった傾向を、横並びで確認できます。
-
ダッシュボードを保存する
画面上部の「保存」を押して、ダッシュボードを保存します。保存しておくと、次に開いたときも同じ構成で表示されます。
保存しないと残らないウィジェットを足しただけでは、まだ確定していません。「保存」を押して初めてダッシュボードとして残ります。離れる前に必ず保存しましょう。
-
表示期間や更新間隔を変えて見方を試す
画面右上で、表示期間(直近 1 時間・3 時間・1 日など)や自動更新の間隔を切り替えてみます。期間を変えると、グラフがその範囲に合わせて描き直されます。長い期間にすると全体の傾向、短い期間にすると直近の細かい動きが見えます。
つまずきポイント
初学者がよく引っかかる箇所を先回りでまとめました。答えそのものは載せていませんが、「どこを見直せばよいか」の手がかりとして使ってください。
「ウィジェットを足したのに、グラフが平らor空に見える」
表示するデータがまだ少ないか、見ている期間・対象がずれている可能性があります。①対象のインスタンスを正しく選んでいるか、②起動してから時間が経っているか(基本メトリクスは 5 分間隔のため、起動直後は点が少ないです)、③表示期間が短すぎないか(直近 1 時間などに広げてみる)を確認しましょう。CPU 使用率は、何もしていないと低い値で平らになるのが普通です。
「作ったはずのダッシュボードが、空に戻っている」
ウィジェットを追加しても、「保存」を押していないと確定しません。画面を離れる前に保存したかを確認しましょう。また、見ているリージョンが作成時と同じかもあわせて確認します(ダッシュボード一覧はリージョンごとに表示されます)。
完了チェック
要件の再確認ではなく、画面のどこを見れば達成を確認できるかをまとめました。CloudWatch コンソールを開いて、次を順に確かめましょう。
- 「ダッシュボード」一覧に、作成したダッシュボード(例:
my-server-dashboard)がある。 - ダッシュボードに、対象インスタンスの
CPUUtilizationの折れ線ウィジェットがある。 - もう 1 つ別の指標(ネットワークや状態チェックなど)のウィジェットがある。
- いったん別の画面に移ってから開き直しても、ウィジェットが保存されて残っている。
- 表示期間を変えると、グラフがその範囲に合わせて描き直される。
考えてみよう
手を動かすことに加えて、次の問いに自分の言葉で答えられるようにしておくと、理解がより深まります。
- ダッシュボード(見渡す)とアラーム(知らせる)は、役割が違います。それぞれが得意な場面はどんなときでしょうか。両方を組み合わせると、運用はどう楽になるでしょうか。
ヒント
ダッシュボードは「自分から状態を確かめにいく」とき、アラームは「異常を見逃したくない」ときに向いています。ふだんはアラームに任せて静かに待ち、何かあったらダッシュボードで全体を見渡す——という使い分けを考えてみましょう。 - サーバーの調子を把握するうえで、CPU 使用率のほかに「並べておくと役に立つ指標」には何があるでしょうか。今回扱ったもの以外も含めて考えてみましょう。
ヒント
ネットワークの送受信量、状態チェックの結果のほか、ディスクの読み書きなども手がかりになります。「遅い・重い・つながらない」といった困りごとに対して、どの指標を見れば原因に近づけるか、という観点で選んでみましょう。 - 今回は 1 台のサーバーを表示しましたが、実際には複数のサーバーやサービスをまとめて見たい場面が多くあります。1 枚のダッシュボードに複数リソースを並べると、どんな利点があるでしょうか。
ヒント
複数を並べると、「どれが重いか」を見比べられたり、全体の傾向(みんな同時に混んでいる、など)をつかめたりします。1 台ずつ別々に見るより、関係や偏りに気づきやすくなる、という観点で考えてみましょう。
後片づけ
学習で作ったものを片づけます。ダッシュボードは数が少なければ無料枠の範囲ですが、対象の EC2 は起動中ずっと課金されるため、忘れず終了しましょう。
- ダッシュボードを削除する:CloudWatch の「ダッシュボード」一覧で、作成したものを選んで削除します。
- EC2 インスタンスを終了する:「インスタンス」で
dashboard-targetを選び、「インスタンスを終了(Terminate)」します(他のハンズオンなどで使う場合は残してかまいません)。
ダッシュボードより、対象サーバーの消し忘れに注意
ダッシュボードは一定数まで無料枠の範囲ですが、表示対象の EC2 は起動している間ずっと課金されます。学習が終わったら、対象のインスタンスを終了しましょう。デフォルト VPC などの既定リソースは消さないようにします。
コストに関する注意: CloudWatch ダッシュボードは、一定数(一般的に 3 つ)まで無料利用枠の範囲で、それを超えるとダッシュボードごとに月額の少額料金がかかります。今回のように 1 つ作る程度なら無料に収まることが多いです。一方、表示対象の EC2 インスタンスは起動している間ずっと課金されます(t2.micro / t3.micro などは無料利用枠の対象)。インスタンスに付くディスク(EBS ボリューム)や public IPv4 アドレスにも料金がかかります。使い終えたら、上の「後片づけ」でダッシュボードと EC2 を片づけましょう。最新の料金は AWS の公式料金ページで確認してください。