【レポート】【初級】クラウド環境におけるモニタリングの重要性について #AWSSummit

2019.06.14

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

こんにちは、中川です。

2019/6/12(水)~14(金) の期間で開催されている、AWS Summit 2019 Tokyo からセッションをレポートします。 本記事は「【初級】クラウド環境におけるモニタリングの重要性について」についてレポートします。

セッション概要

スピーカー: 大場 崇令(アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテクト)
セッション名:【初級】クラウド環境におけるモニタリングの重要性について

ソフトウェア開発の速度は日々加速しています。企業ではビジネスの価値を高めるために、顧客のフィードバックから継続的な改善と俊敏さが求められています。このセッションでは DevOps の現状からモニタリングの重要性 (Why Monitoring) と AWS で適切なモニタリングソリューションを検討するために必要な Tips についてご紹介します。

セッションレポート

以下、セッションレポートになります。

アジェンダ

  • 企業システムの現状
  • モニタリングの必要性
  • 解決策
  • まとめ

企業システムの現状

  • Software Moves Faster Today
  • 企業の価値を最大化
    • 継続的に改善していくこと
  • 俊敏さに必要な要素
    • 要求の変化に柔軟に対応
    • 自動化の推進
    • フィードバックから、素早い意思決定
    • DevOpsの実現
  • DevOpsとは
    • ビジネス価値の向上
    • DevOpsの要素
      • 文化、実践、ツールを組み合わせる
    • 迅速に改善

モニタリングの重要性

  • とあるWebサービスを提供する現場の声
    • システム運用者
      • 割り当てているリソース料に過不足がないか
      • 不正アクセスが発生していないか
    • 開発者
      • サービスが適切な応答をできているか
      • アプリケーションの品質を改善したい
  • 何をモニタリングする必要があるか
    • カスタマーエクスペリエンス
    • パフォーマスンス
    • 傾向分析
    • セキュリティ
    • コスト

カスタマーエクスペリエンスモニタリング

  • 測定できていないと
    • 信頼度が低下
    • 機会損失
  • 測定すべき項目
    • 外形監視(レスポンスタイプ、ステータスコード)

パフォーマンスモニタリング

  • 測定できてないと
    • 過負荷に耐えられない
    • サービスが使えない
  • 測定すべき項目
    • リソース管理
    • アプリケーション性能管理

傾向分析モニタリング

  • 問題
    • 迅速な改善できない
    • ワークロードの課題を特定できない
  • 測定すべき項目
    • ログ監視(アクセスログからニーズの高いコンテンツの特定、エラーメッセージの検出)

セキュリティモニタリング

  • 問題
    • 悪意のある第三者の不正アクセス
    • 機密データの流出
  • 測定すべき項目
    • クラウド上でのアクティビティ(不審なアドレスからのAPI呼び出し)
    • リソースの構成変更の履歴
    • サービスへの脅威状況(ポートスキャン)

コストモニタリング

  • 問題
    • 利用費用の変化を検出できない
    • 想定外の費用が発生
  • 測定すべき項目
    • クラウドサービスの利用料金

解決策

クラウドでチェックすべき代表的な監視項目

  1. リソース監視
  2. ログ監視
  3. APM
  4. 外形監視
  5. セキュリティ
  6. コスト

1. リソース監視

  • CloudWatch
  • CloudWatch Dashboard
  • CloudWatch Alarm

2. ログ監視

  • CloudWatch Logs
    • データ連携:Kinesis Data Firehose
    • 可視化:Amazon Elasticsearch Service
  • CloudWatch Logs Insight

3. APM

  • AWS X-Ray
    • メリット
      • リクエスト実行状況の確認
      • アプリケーションの問題の検出
      • アプリケーションのパフォーマンス向上
      • AWSとの連携
      • さまざまなアプリケーション向けの設計
    • サービスマップでコールグラフを可視化
    • X-Rayによる問題の検出

4. 外形監視(シンセティック監視)

  • Why 外形監視
    • サービスが正しく動作しているかを確認するため
  • Lambda
    • イベントドリブン、サーバーレス
  • CloudWatch Events
    • AWS リソースの状態監視サービス
    • AWS上の各種イベントをトリガーにアクションを実行
  • AWS Lambdaを活用したシンセティック監視例
    1. CloudWatch Eventsで定期的にLambdaファンクションを実行
    2. Lambdaからサービスにアクセス
    3. サーバーサイドのメトリクスをCloudWatchで監視
    4. リーチャビリティやレイテンシーはLambdaからCloudWatchにPUT
    5. クライアントで問題を検知したらAlarm

5. セキュリティ

  • AWS CloudTrail
    • クラウド上のアクティビティを記録
    • ログファイルは暗号化され、S3に保存
  • AWS Config / Config Rules
    • 構成変更を記録
    • あるべき状態になっているか評価
  • Amazon GuardDuty
    • 脅威検出
    • 人的コストを削減
    • 既知と未知の振る舞い検知
    • インシデントレスポンスには対応していない
      • CloudWatch EventsやLambdaを活用する必要があり

6. コスト

  • コストエクスプローラー
    • コストの可視化
    • グルーピング
    • エクスポート
  • AWS Budgets
    • 予算を管理
      • 無料利用枠の制限にどれだけ近いかを評価できる
    • 可視化
    • アラート

まとめ

  • 監視ツールは目的ではなく手段
    • 目的に合わせてツールを選択すること
      • AWS以外のサードパーティ&オープンソースソフトウェアが多数ある
      • AWS Marketplace
      • ESP OnlineでAWS対応ソフトウェアを調べられる
  • ワークロードの特性から必要なメトリクスを理解する
  • 実験して改善する
    • 最初から理想を実現するのではなく、小さく成長していく

さいごに

クラウド環境におけるモニタリングの重要性とその解決策について、話していただきました。 昨今はたくさんのモニタリングツールは用意されていますので、目的に合わせてツールを選択することが重要だと改めて思いました。 代表的な監視項目については、これから監視を考える際には考慮するようにします。