[レポート]Observing and diagnosing your network with AWS #NET205 #reinvent

アプリケーションやネットワークに対するモニタリングやトラブルシューティングについて紹介します。
2022.12.21

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、ヌヌです!

本記事は、re:Invent2022のセッション Observing and diagnosing your network with AWS の参加レポートです。

本セッションについて

概要

AWS provides a set of tools that help demystify sources of network congestion, latency, and reduced availability across your applications and the public internet. Join this session to learn about this year’s updates in network observability and learn from real-world examples that can help you implement the latest monitoring, troubleshooting, and remediation techniques before your end users are impacted.

スピーカ

  • Sohaib Tahir, Principal Solutions Architect, AWS
  • Riggs Goodman, Global Technical Lead, AWS Networking Partners, AWS

本セッションで学べること

  • ネットワークを観察できる(Observe)
  • ネットワークの収集・モニタリング
  • ネットワークの分析・トラブルシューティング

セッションの映像

セッションレの内容

Overview of Network Observability

  • デバッグのためメトリクスやログなのど各種の情報を集めること
  • 収集したデータをダッシュボードでモニタリングすること
  • データを分析して、改善しデプロイする

データ収集とモニタリングのための機能

CloudWatch Metrics

  • 100個以上のAWSサービスからメトリクスを収集可能。
  • 特別な作業が必要ではない
  • データの収集間隔やメトリクスの種類などのカスタムメトリクス登録可能

Amazon EC2 Metrics

  • CloudWatchを通じたインスタンスレベルのネットワークメトリクス提供
  • ENA(Elastic Network Adapter)でネットワーク低下に関するインサイト取得

Elastic Load Balancer

ロードバランサー種類によって収集可能なCloudWatchメトリクスが違う

  • Application Load Balancer(ALB)
    • 連結数、LCUs(Load Balancer Capacity Units)、Header details、HTTP counts、エラーコード、Bytes
  • Network Load Balancer(NLB)
    • Flows、LCUs(Load Balancer Capacity Units)、Healthy hosts、Bytes、秒あたりのパケット、Resets、TLS
  • Gateway Load Balancer(GWLB)
    • Flows、LCUs(Load Balancer Capacity Units)、Healthy hosts、Bytes

CloudWatch Anomaly Detection

  • メトリクスの過去データ通計及びマシンラーニングアルゴリズムを適用して期待値モデルを作成する
  • メトリクス値によってアラムを呼び出すタイミングを設定可能
  • メトリクスの季節性及び傾向変化をカウントする

Network logs(ELBのアクセスログ)

  • リクエストタイム、クライアントのIPアドレス、レイテンシ、リクエストパス、セーバレスポンスなどの情報を含む
  • トラフィックパタン、トラブルシュートイシューなどを分析
  • 収集したログはS3バケットに保存

Network logs(AWS Network Firewall)

  • フローログとアラートログ提供
  • パケットに関するメトリクス提供
  • CloudWatch Logs, S3, Kinesis Data Firehoseへログを転送可能

Flow logs

  • Amazon VPCやAWS Transit Gatewayのフローログ取得可能
  • VPCとTransit GatewayへのIPトラフィックメタデータ情報をキャプチャ
  • ネットワークトラフィックの視覚化ができモニタリング可能
  • CloudWatch Logs, S3, Kinesis Data Firehoseへフローログデータをパブリッシュ可能

Route 53 query logs

  • Public DNS query logs
    • Route 53 からのパブリックDNSクエリのログ情報
    • パブリックDNSクエリのログをCloudWatch Logsへパブリッシュ可能
  • Resolver query logs
    • インバウンド/アウトバウンドResolverエンドポイントを使用するVPCから作成されるクエリとRoute 53のResolver DNS Firewallのログを取集可能
    • CloudWatch Logs, S3, Kinesis Data Firehoseの配信ストリームへ転送可能

CloudWatch Logs

  • CloudWatch Logsを利用してシステムからのログを中央で確認する
  • ログを検索・フィルタリングする
  • ログを長期間保存
  • ログデータをクエリ・整列・視覚化する

CloudWatch Logs - Contributor Insights

  • CloudWatch Contributor Insightsを利用してシステムに影響を与えるダータを分析する
  • ログイベントパターンを評価しCloudWatchのdashboardsで確認・alarmsで追加可能

CloudWatch Logs - Dashboards

  • クラウドリソースを視覚化、グラフを作成可能
  • メトリクス、アラム、ログ、Contributor insightsをダッシュボーダーに表示可能
  • クロスリージョン、クロスアカウントダッシュボーダー作成可能

ベストプラクティス

  • どの所のどのメトリクスをどの間隔で取集したいのか決定する
  • モニタリングツールは3rd Partyのモニタリングツールを使ってもいい
  • モニタリングチームがあるのも重要
  • PlayBookを使ったエスカーレーション
  • CI/CD Pipelineで自動化する

ネットワーク分析、トラブルシュッティング

クロスVPCとインターネット間のネットワーク分析のため3つのサービスを使用可能

  • VPC Reachability Analyzer
  • Transit Gateway Route Analyzer
  • Network Access Analyzer

AWS Network Manager

AWS Network Managerを使ってAWSのネットワークパフォーマンスを確認可能

Amazon CloudWatch Internet Monitor

インターネットに関するモニタリングが可能

  • トラフィックがどこから来るのか地図で見える
  • ユーザーのインターネットに何が起こってるのかがわかる

最後に

私もネットワークをモニタリングしたいがどの機能やサービスを使えばいいのか分からないことが結構ありました。私のようにネットワークのモニタリングや分析などため使えるAWSサービスや考え方が知りたい方にはこのセッションが役に立てると思います!