はじめに
AWS Certified SysOps Administrator - Associateの試験ラボを乗り切るために、勉強していることをなんとなくメモっていきます。
基本的にハンズオンの内容は説明せずに出てきた単語を少し深掘りしていきます。
行うこと
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/
AWS Hands-on for Beginners 監視編 サーバーのモニタリングの基本を学ぼう
本人情報
IT現場雑用員(SEで採用されながら一生Excel触ってる人)
半年前にAWS SAA取得済み
AWSサービスの監視について
なぜ監視を行う必要があるのか
システムのリソース不足や稼働状況を確認することによってユーザーの体験を損なわないように監視する必要があリます。
また、インフラストラクチャだけではなく、アプリケーションが想定した通りに処理、返答を行えているかも確認する必要があります。
これらの要素をリソースのパフォーマンス、キャパシティやOS、アプリケーション、ミドルウェアのログ管理を行うことによって監視することができます。また、これらの要素以外にもセキュリテやコストなど運用を続けていく上で気にしておかなければならないサービスは多数存在します。
利用できるサービス
AWS上でサービスを監視できるサービスは主に2つあります。
AWS X-Ray
アプリケーションレイヤ(レイヤ7)を対象として、それぞれのサービスが順に呼び出されていく流れをトレースし、パフォーマンスの問題やボトルネックなどを特定します。それぞれのサービスの順序や、レスポンスタイムなどをサービスマップとして図で表示することもできます。
AWS CloudWatch
CloudWatchはAWS上のイベント、ログ、メトリクスをモニタリングするための関するさまざまなサービスを提供しています。CloudWatch Logs、CloudWatch Metricsで蓄積されたデータを元にCloudWatch Alarmによってアクションを実行したり、CloudWatch Alarmsによってアクションを実行したり(停止、削除、再起動など)、 CloudWatch Logs Insightによって収集したログをわかりやすく監視したりすることができます。
今回はこっちをメインで使います。
CloudWatch Alarms
CloudWatch Alarmsとは
CloudWatch Alarmsはいくつかのステータスによって管理されています。
OK メトリクスや式は、定義されている閾値の範囲内です。
ALARM メトリクスまたは式が、定義されている閾値を超えています。
INSUFFICIENT_DATE データが不足しているため、アラームの状態を特定できません。
アクション機能
設定した閾値を超えてステータスがアラームになった場合に、CloudWatch AlarmsはSNS、 EC2、Auto Scalingなどに対してアクションを実行することができます。
CloudWatch Logs
CloudWatch Logsとは
AWSサービスおよびお客様システムのログファイルの監視、保存、アクセスを管理することができます。CloudWatch Logsによって転送されるログはデイレクトリ構造で管理されています。ログストリーム単体か、もしくはロググループに含まれる全てのストリームに対してログの検索を行うことができます。どのような検索を行いたいかによって、設計を考える必要があります。
ログイベント
監視しているアプリケーション、もしくはリソースで記録されたログそのものです。記録された時間とイベントメッセージが記録されています。
ログストリーム
記録された一連のログイベントです。送信された順にログイベントを並べて表示することができます。
ロググループ
同じ設定をもつログストリームを一つのグループにまとめます。一つのロググループに所属させるストリームの数に制限はありません
CloudWatch Logs Insights
CloudWatch Logsによって収集されたログデータをインタラクティブに検索して分析することができます。Cloud Watch Logs自体の機能でログの絞り込みを行うこともできますが、Lambdaを利用して専用のクエリ言語を実行することによって、検索や分析を行うことができます。S3に出力されている必要はありません。