みなさんこんにちは。マネージドサービス部MSS課の塩野(正)です。 今年は紅葉が遅くなるという話もちらほらありますが、秋が来たような冬が来たような天気が続いているので、体調管理には気を付けたいところです。
さてさて、AWSのマネージドサービスでネットワーク監視ができるのってご存じですか。「あー、Syntheticsを使ったURL監視の話でしょ?」と思った方もいらっしゃると思いますが、今回はそちらだけではありません。CloudWatchのネットワーク監視についてわかりやすく解説していきたいと思います!
はじめに
「AWSでWebサービスを運用しているけど、ユーザーから『サイトが重い』って言われて困っている...」 「海外展開を始めたけど、各国からのアクセス状況がよくわからない...」 「ネットワークの監視って何から始めればいいの?」
こんな悩みを持っている方、とても多いと思います。実は、AWSには便利なネットワーク監視ツールが用意されているんです。用意されているネットワーク監視ツールは、監視するものの対象によって異なりますが、こちらの2つになります。
- CloudWatch Network Monitor
- CloudWatch Internet Monitor
ここからそれぞれの特徴を説明していきたいと思います。
CloudWatch Internet Monitorとは
簡単に言うと、CloudWatch Internet Monitorとはインターネットの健康状態を可視化するためのツールです。
Internet Monitorって何ができるの?
インターネットの問題により、AWS環境で構築しているアプリケーションがアプリケーションのパフォーマンスや可用性にどう影響するかを簡単に把握できるため、
- 日本からのアクセスが遅くなっていることを検知
- アメリカのある地域でサービスにつながりにくい状況を把握
- 世界中のどの地域でどんな問題が起きているかを地図で確認
といったことができるようになります。
どうしてInternet Monitorが便利なの?
1. AWSの豊富なデータを活用できる
AWSは世界中にデータセンターを持っていて、膨大なネットワークデータを収集しています。こういったデータを活用することで、AWSでホストされているアプリケーションとエンドユーザーとの間にある途中の経路で、どのような影響を与える問題があるのかの状況を把握することができます。例えば、
- 「普段より遅い」という状態を正確に判断
- 問題が起きている場所を素早く特定
- インターネットプロバイダー(ISP)ごとの状態も確認可能
といったことが把握できるようになります。
2. 問題を素早く見つけられる
従来のネットワーク監視だと、「ユーザーから苦情が来てから調査開始」というパターンが多かったと思います。でもInternet Monitorを使用すると、
- 問題が発生したらわかるようにヘルスアラートを設定できる
- どの地域で問題が起きているか一目で分かる
といったようなメリットがあります。
3. 見やすい画面で確認できる
技術者でなくても理解しやすい、直感的な画面になっています。
- 世界地図上で問題のある地域が一目で分かる
- どの都市ネットワークで問題があったかの詳細情報も確認できる
CloudWatch Network Monitorとは
簡単に言うと、CloudWatch Internet Monitorとはプライベートネットワークの健康状態を可視化するためのツールです。
Network Monitorは何が違うの?
Internet Monitorが「外の世界」を見ているのに対して、Network Monitorは「AWS内部のネットワーク」を監視します。
例えるなら、こんな感じでしょうか・・
- Internet Monitor → 世界中の天気予報を見守る気象台
- Network Monitor → 自分の家の中の温度や湿度を測る温度計
どんなことができるの?
1. きめ細かな監視が可能
- ネットワークの速度(スループット)を測定
- 通信の遅延(レイテンシー)をチェック
- パケットロス(データの損失)を監視
2. 問題を自動で見つけてくれる
- CloudWatch の異常検出機能を使用すると、「いつもと違う」状態を検知できる
- 設定した条件に応じてアラートを送信
- Slackなどと連携することも可能
設定してみよう!
Internet Monitorを設定してみる
準備するもの
- AWSのアカウント
- 監視したいリソース(CloudFrontやVPCなど)
設定手順
- CloudWatchコンソールにログイン
- 左メニューからInternet Monitorを選択
- 「モニターの作成」をクリック
- モニタ名を入力後、監視したいリソースを選択
- 設定内容を確認して作成完了です。
Network Monitorの始め方
準備するもの
- AWSアカウント
- 監視したいVPCエンドポイント
設定手順
- CloudWatchコンソールを開く
- Network Monitorを選択
- モニターの作成を開始
- 以下の項目を設定:
- モニターの名前(例:prod-vpc-monitor)
- 監視するVPCエンドポイントと監視対象IP
- プローブおよび設定内容の確認
CloudWatch Network Monitorのダッシュボード
CloudWatch Network Monitorでは以下のようにAWS ネットワークのヘルス状態やパケットロス状況、ラウンドトリップタイムなどを確認することができます。
ネットワークモニターの料金
CloudWatch ネットワークモニターの場合は、請求額を決定するための要素が2つあり、それぞれモニタリング対象リソースとCloudWatch メトリクスの利用料です。モニタリング対象リソースについては、監視する側に作成するリソースの数とそれを使った時間(リソース数×利用時間×0.11USドル ※東京リージョン)で、1つのリソースで4つのIPまで監視できます。またCloudWatch メトリクスの利用料については、項目がいくつかありますので、下記サイトのCloudWatch メトリクスの料金タブをご確認ください。
まとめ
Amazon CloudWatchのネットワーク監視について見てきましたが、機能を調べている中でInternet MonitorにしてもNetwork Monitorにしてもとても便利な機能だと思いました。特に別サーバを構築しなくてもICMP監視ができるという点では、それ使いたいという方もいらっしゃるのではないかと思います。こういったサービスをうまく利用することで、障害対応の時間を少しでも短縮できればと思います。
この記事がどなたかのお役に立てれば幸いでございます。