AWS Hands-on for Beginners 監視編 サーバーのモニタリングの基本を学ぼうをやってみた

2020.09.24

DA事業本部の横山です。

初心者向けにいろいろなAWSサービスの公式ハンズオン動画が提供されている AWS Hands-on for Beginners監視編 があり、興味があったのでやってみました!

AWSにおける監視の概要や基礎を学びたい、CloudWatchの基本的な使い方を学びたい方はとても参考になるとおもいます。

概要

CloudWatchを利用して、AWSにおける監視の基本を学べるウェビナーです。WordPressを題材に、どのようにAWSで監視していくかを体験できるコースとなっています。EC2、RDS、ELBといったサービスを活用する関係で、それらの基礎知識があることが望ましいですが、ウェビナー内でご紹介いたしますのでご安心ください。オンプレミスでの監視が、AWSだとどのように実現できるのか、監視の第一歩として是非ご活用ください。

とのことなので、ハンズオンで利用するサービス(EC2, RDS, ELB)を知らなくてもひとまずやってみましょう。

コンテンツ視聴方法

以下のリンクに申し込み情報を入力して「送信」をクリックすると動画が表示されるので、すぐに視聴を開始することができます。
AWS Hands-on for Beginners - 監視編 サーバーのモニタリングの基本を学ぼう

アジェンダ

本ハンズオンは視聴に申し込みが必要となるため、本記事ではハンズオン内容を詳細には記載せずに概要やハンズオンで確認したAWSコンソールのスクリーンショットを記載します。
ハンズオンのアジェンダは以下のようになっています。

  1. 監視アーキテクチャの概要
  2. 基礎知識のおさらいと事前準備
  3. Amazon CloudWatchの概要
  4. Amazon CloudWatchのハンズオン ①EC2、ALB、RDSのメトリクス確認
  5. Amazon CloudWatchのハンズオン ②EC2のディスク使用率90%以上時のアラート発報
  6. Amazon CloudWatchのハンズオン ③WordPressのアクセスログ、エラーログ確認
  7. Amazon CloudWatchのハンズオン ④WordPressのアクセスログの分析
  8. Amazon CloudWatchのハンズオン ⑤WordPressの監視ダッシュボード作成
  9. Amazon CloudWatchのハンズオン ⑥EC2インスタンス停止時の通知
  10. 本コースのまとめ、リソース削除

1. 監視アーキテクチャの概要

まずはじめに、なぜ監視が必要なのかを学びます。その上で、クラウドデチェックすべき代表的な監視項目AWSの監視サービスの説明があります。

本ハンズオンで、構築するアーキテクチャは以下になります。

2. 基礎知識のおさらいと事前準備

以下のサービスについての説明が行われます。 アーキテクチャの構築にはCloudFormationを用いますが、各サービスを利用したことがない人は各サービスがどんな役割を持っているのかをイメージしておきましょう。

  • Amazon VPC (Virtual Private Cloud)
  • Amazon EC2 (Elastic Compute Cloud)
  • Elastic Load Balancing (ELB)
  • Amazon RDS (Relational Database Service)
  • AWS CloudFormation

3. Amazon CloudWatchの概要

CloudWatchには、様々なサービスが存在しますそれらの概要説明が行われます。
各サービスを利用する際はさらに詳しく解説が入りますので、そういったサービスがあるのかくらいに理解しておきましょう。

  • CloudWatch Metrics
  • CloudWatch Logs
  • CloudWatch Alarms
  • CloudWatch Logs Insights
  • CloudWatch Dashboards

4. Amazon CloudWatchのハンズオン ①EC2、ALB、RDSのメトリクス確認

メトリクス監視がなぜ必要かについて説明があり、CloudWatch Metricsに関する解説が行われます。 コンソール上での操作には大きな影響があるわけではありませんが、各名称の概要については理解しておきましょう。

本セクションで、確認したメトリクスは以下のようなものです。

EC2インスタンスのCPU使用率

RDSのReadIOPS

EC2インスタンスのメモリ使用率

5. Amazon CloudWatchのハンズオン ②EC2のディスク使用率90%以上時のアラート発報

アラートがなぜ必要かについて説明があり、CloudWatch Alarmsに関する解説が行われます。
CloudWatch Alarmsのアクション機能に関する説明も行われるので、理解を深めましょう。

本セクションでは、タイトルにもあるようにディスク使用率が90%を超えた場合にアラートを発砲するように設定します。 アラーム一覧で確認すると以下のようになるはずです。

6. Amazon CloudWatchのハンズオン ③WordPressのアクセスログ、エラーログ確認

ログの集約がなぜ必要かについて説明があり、CloudWatch Logsに関する解説が行われます。
CloudWatch Logsのディレクトリ階層についての解説もここで行われるので利用するのが初めての人はしっかりと理解しましょう。

通常ログ

エラーログ

7. Amazon CloudWatchのハンズオン ④WordPressのアクセスログの分析

ログ分析がなぜ必要かについて説明があり、CloudWatch Logs Insightsに関する解説が行われます。
CloudWatch Logs Insightsで利用するクエリ構文に関する説明も行われます。

画面右側でサンプルクエリを調べることができるのを私は知りませんでした。

以下の画像は、ハンズオンで分析したWordPressのアクセスログです。カラム分けが行えており読みやすいですね。

8. Amazon CloudWatchのハンズオン ⑤WordPressの監視ダッシュボード作成

ダッシュボードがなぜ必要かについて説明があり、CloudWatch Dashboardsに関する解説が行われます。

以下の画像は、ハンズオンで作成したDashboardです。独自のDashboardを作成するのはとても楽しそうですね。

9. Amazon CloudWatchのハンズオン ⑥EC2インスタンス停止時の通知

CloudWatch Eventsに関する解説が行われます。

メール送信先に有効なメールアドレスを入力した場合、EC2インスタンスを停止した際に下記のように本文にイベント(JSON)が記載されたメールが届くはずです。

{
    "version": "0",
    "id": "ee6f286b-0a02-6044-02c4-2caf6033dcb9",
    "detail-type": "EC2 Instance State-change Notification",
    "source": "aws.ec2",
    "account": "10000000000",
    "time": "2020-09-24T08:47:57Z",
    "region": "ap-northeast-1",
    "resources": [
        "arn:aws:ec2:ap-northeast-1:10000000000:instance/i-0038d13c885852d71"
    ],
    "detail": {
        "instance-id": "i-0038d13c885852d71",
        "state": "stopped"
    }
}

10. 本コースのまとめ、リソース削除

CloudFormationのスタック削除および、それ以外のリソース削除を行います。

やってみてここがよかった

一つの題材を通して、CloudWatchのMetrics, Logs, Alarms, Logs Insights, Dashboardsを一度に学べるのがとてもわかりやすく、各サービスを理解しながら進められたのがとてもよかったです。 サービスへの理解を深めるという意味では初心者でも問題なく理解できる内容であったかと思います。

最後に

CloudWatch Logsしかちゃんと見たことがないって人もいるかと思いますが、本ハンズオンを通してCloudWatchの利用方法を学びサービスを適切に監視できるように勉強しましょう。

以上になります。ハンズオンの動画や資料はとても丁寧でわかりやすいので、みなさんもぜひやってみてください。