AWS DOPの学習(モニタリングとロギング編)
はじめに
本記事は個人の備忘録として、DOPに向けた学習の中で理解が不十分だった部分や間違えた問題の内容をまとめたものになります。
サービスの全体像を解説した記事ではないため、ご了承ください。
本記事は以下のサイトを大いに参考にしています。
とてもわかりやすくまとめられているため、DOPを受験される方はご一読することをお勧めします。
Cloud Watch Metrics
AWSクラウド上で発生するリソースやアプリケーションのパフォーマンスデータを収集し、可視化するためのサービス
Namespace
メトリクスを分割する論理的なグループ
NamespaceはAWSサービスやカスタムアプリケーションごとに異なり、メトリクスの一元管理を可能にする。
AWSサービスのメトリクスは通常、サービス名がNamespaceとして使用される。
例)Amazon EC2のメトリクスはAWS/EC2というNamespaceに属する。
Dimension
メトリクスをより細かく分類するためのキー/バリューペア。
EC2インスタンスのCPU使用率をモニタリングする場合、インスタンスIDがディメンションとなる。
ディメンションを指定することで、同じメトリクスでも異なるコンテキストでデータを取得できる。
NamespaceとDimensionを組み合わせることで、AWS/EC2 Namespace内で、インスタンスIDごとのCPU使用率やネットワークトラフィックを別々にモニタリングすることが可能です。
CloudWatch Custom Metrics
AWSが提供するメトリクス以外に、ユーザーが独自にカスタムメトリクスを作成できる。
EC2の場合、CPU使用率はデフォルトで提供されるが、メモリ使用率はカスタムメトリクスの作成が必要
CloudWatch Metric Streams
メトリクスデータを準リアルタイムでストリームできる機能
Cloud Watch Logs
モニタリングおよびログ管理サービスの一部。
EC2インスタンス、Lambda関数、Route 53、API GatewayなどのAWSサービスやカスタムアプリケーションから生成されるログデータを収集し、セキュアに保存できるので、ログデータが分散していても一元的に管理できる。
ロググループ
Amazon CloudWatch Logs内でログデータを論理的にまとめた単位。
アプリケーションやサービスごとにログを整理するためのグループ
ログストリーム
ロググループ内で生成される実際のログエントリのストリーム。
各ログストリームは一意な識別子を持ち、特定のイベントやタイムスタンプに関連するログデータを含む。
EC2インスタンスごとに異なるログストリームが作成され、その中にはそのインスタンスが生成したログデータが格納されます。
S3へのログのアーカイブ
CloudWatchLogsのサブスクリプションフィルターにて、KinesisDataFirehoseを指定し、KinesisDataFirehose側ではターゲットとなるS3を指定します。
また、KinesisDataFirehose側では、転送されてきたデータに対して、Lambdaと組み合わせることにより、S3へのエクスポート前にデータの変換を行うことができます。また、ほぼリアルタイムに転送できるというメリットもあります。
手動であれば直接S3にエクスポートする機能も存在する。
メトリクスフィルター
ログデータから特定の文字列のフィルタリングをする機能。
CloudWatch Logs に取り込まれたログデータの中から、監視対象のデータを抽出してメトリクスとして数値化、可視化できる。 さらにアラームを作成したり、SNSを経由してメールなどに通知することも可能。
メトリクスフィルターはロググループに割り当てられ、そのロググループの中のログストリームのデータ全てに適用される。
サブスクリプションフィルタ
cloudwatch logsに出力されたログデータを特定の文字列を含むデータなどをリアルタイムに検知し、kinesis や lambda などにログを転送する機能。
サブスクリプションフィルタを使用すると、「Error」など特定の文字列が含まれる場合に、lambdaなどから処理を行うことができる。
クロスアカウントでのログ収集
CloudWatch Logsにおけるクロスアカウントでのログ収集は、異なるAWSアカウントからログデータを中央のCloudWatch Logsに集約する仕組み
SubscriptionFilterによりログを転送して、保存先AWSアカウントで処理を行う。
CloudWatch Logs Insights
CloudWatch Logs内の膨大なログデータを高度なクエリツールを使用して検索し、分析するためのサービス。
SQLライクなクエリ言語を提供し、複雑な検索条件や集計操作が可能。
リアルタイムでログデータを分析し、自動的にフィールドを認識して柔軟なクエリが行える。
Amazon CloudWatch Agent
複数のデータソースからメトリクス、ログ、カスタムデータを収集し、CloudWatchに送信するエージェント。
EC2インスタンスやオンプレミスサーバーのWindowsおよびLinuxで使用可能
Procstatプラグイン
特定のプロセスに関するパフォーマンスデータを収集し、Amazon CloudWatchに送信するための機能。このプラグインを使用することで、システム上で実行中のプロセスの詳細なパフォーマンスメトリクス(例:CPU使用率、メモリ使用率、スレッド数など)を監視できる。
Amazon CloudWatch Alarm
特定のメトリクスに対して定義した条件が満たされるとアクションをトリガーし、通知を生成するサービス。
ターゲットとしてS3を指定することはできない。
複合アラーム
複数の条件にマッチしたときのみアラームを上げる
複合条件はAND,OR,NOTにより制御可能
Amazon CloudWatch Synthetics
エンドユーザーからのアプリケーションの可用性とレイテンシーをモニタリングするためのサービス。
APIやURL、ウェブサイトを監視するためのスクリプトを定義し、シナリオテストを定期的に実行してアプリケーションの健全性を確認する。
(ネットワークの確認を含むE2Eテストのようなもの?)
Amazon Athena
標準的なSQLを使ってAmazon S3のデータを直接クエリすることができるサービス。
Amazon Athenaで分析した結果をAmazon QuickSighetでレポーティングやダッシュボードとして利用者に提供するという使い方が一般的。
SQLでの検索を行うために外部テーブルの作成が必要。
S3バケット内のデータ分析に適するが、S3へのデータアップロードのためのサービスではない
Amazon QuickSight
AWSで利用できるBIサービス
※BI(business intelligence)サービス:組織が蓄積したデータを収集・分析・報告することで経営上の決定に役立てるためのサービス
データ抽出、データ加工、データ分析・可視化、ダッシュボード作成・共有等を行う
RedshiftやRDS、DBインスタンスなどを統合してデータソースとして使用することができる
SPICE
QuickSightの専用エンジンで、SPICEにデータソースをアップロードすると、すぐに情報の分析や可視化を行えるようになる。 SPICEでは、分析やビジュアルを変更・更新するたびに、データを再取得する必要が無く、効率的に分析を行うことが可能。
AWS Glue
AWS Glueは、データの準備、変換、およびロード(ETL:Extract, Transform, Load)を行うためのフルマネージドサービスです。AWS Glueは、データの統合プロセスを自動化し、データを分析のために容易に利用できるようにするためのツールを提供
Amazon Open Search Service
オープンソースの検索および分析エンジンであるOpen Searchを使用するために、OpenSearch クラスターのデプロイ、オペレーション、およびスケーリングを容易にするサービス。
OpenSearchは、AWS上にドメインと呼ばれるインスタンスを作成し、ドメイン上に登録された文書を検索できるサービス(オープンソースのAWS版)。文書は直接ファイルを登録するのではなく、一度ファイルをテキストに変換し、そのデータを記入したJSON形式で登録する。検索や登録はAPI、もしくはOpenSerch Dashboards上から行うことができる。
ユースケース
ログ分析
リアルタイムのアプリケーションモニタリング
クリックストリーム分析
Amazon FSx for Windows File Server
AWSでWindowsServerのストレージを利用できるフルマネージドなサービス
AWS Storage Gateway
オンプレミスの環境とAWSクラウド間でシームレスにデータの移行やストレージの統合を行うためのハイブリッドクラウドストレージサービス
ファイルゲートウェイ(File Gateway)
オンプレミスのファイルをクラウドに保存するためのNFS(UNIX系のファイル共有システム)またはSMB(Windows系のファイル共有システム)プロトコルをサポートするファイルインターフェイスを提供する。
ファイルゲートウェイを使用することで、オンプレミスのアプリケーションがS3バケットに直接ファイルを保存できる。
※NFS:ネットワークを介して別のコンピュータのストレージ上のファイルシステムをマウントすることができ、そこに保存されているディレクトリやファイルをあたかも手元にあるかのように扱うことができる。
主要機能:
キャッシュ:頻繁にアクセスするデータをローカルキャッシュに保持し、高速なアクセスを提供する。
階層型ストレージ:オンプレミスとクラウド間でデータを自動的に移行する。
バックアップとアーカイブ:データのバックアップとアーカイブをAWS S3に行うことで、コストを削減し、耐久性を向上させる。
使用シナリオ:
ファイル共有のクラウドバックアップ
コンテンツリポジトリ
データレイクの構築
ボリュームゲートウェイ(Volume Gateway)
ブロックストレージインターフェイスを提供し、オンプレミスのアプリケーションをAWSにバックアップできるようにする。
プロトコルはiSCSIプロトコルを使用。
ボリュームゲートウェイにはキャッシュ型ボリュームとストア型ボリュームという2種類のモードがある。
キャッシュ型ボリューム:
頻繁にアクセスするデータをオンプレミスにキャッシュし、低レイテンシでアクセスを提供しつつ、すべてのデータをAWS S3に保存する。
使用シナリオ:クラウドストレージの拡張として使用。
ストア型ボリューム:
すべてのデータをオンプレミスに保存し、定期的にスナップショットをAWS S3にバックアップする。
使用シナリオ:オンプレミスのデータを完全に保持しながら、クラウドにバックアップを取りたい場合に使用。
主要機能:
スナップショット:EBSスナップショットとしてAWSに保存し、データの耐久性を確保する。
バックアップと復元:オンプレミスからクラウドへのバックアップと迅速なデータ復元を提供する。
テープゲートウェイ(Tape Gateway)
テープゲートウェイは、既存のバックアッププロセスを変更せずに、仮想テープライブラリ(VTL)を使用してバックアップをクラウドに保存するためのインターフェイスを提供します。これにより、従来のテープバックアップの代わりにクラウドストレージを使用できます。
プロトコルはiSCSIプロトコルを使用。
主要機能:
仮想テープライブラリ(VTL):オンプレミスのバックアップアプリケーションが仮想テープにデータを書き込むことができます。
S3およびGlacierへの保存:仮想テープをS3に保存し、長期保存が必要な場合はGlacierに移行します。
既存のバックアップソフトウェアとの統合:既存のバックアップソフトウェアを変更せずに利用可能です。
使用シナリオ:
テープバックアップのクラウド移行
データアーカイブとディザスタリカバリ
Transit Gateway
複数のVPCやオンプレミスのネットワークをシームレスに接続するためのハブ型ネットワークデバイスです。これにより、AWSインフラストラクチャ全体のネットワーク接続を簡素化し、管理を一元化することができます。
この記事が気に入ったらサポートをしてみませんか?