2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
リンクをコピー
記事をブックマーク
吉澤巧氏(以下、吉澤):それでは「Amazonにおけるダッシュボードのベストプラクティス」というタイトルで、アマゾンウェブサービスジャパン、ソリューションアーキテクトの吉澤からお話しします。
まずは簡単に自己紹介です。私は2022年に新卒で入社した吉澤といいます。現在はソリューションアーキテクトというポジションで働いています。好きなAWSサービスはAWSリソースを節約する方法、これを教えてくれるTrusted Advisor。また、特技として学生時代に気象予報士(の資格)を取って、民間の気象会社で「明日のお天気は晴れですよ」といった仕事をしていた時もありました。
3つ目の発表でみなさんそろそろお疲れの頃かなと思いますので、本題に入る前に気分転換として気象予報士時代の少しお話をさせてください。
みなさんに少し想像してほしいのですが、朝起きて天気予報を見ているとします。ここで「気温18度」と言われました。さて、みなさんならどんな服を着て行きますか。
恐らく、案外思い浮かばないんじゃないかなと思っています。同様に、例えば「降水量が5ミリ」とか「風速が15メートル」とか聞いても、恐らく案外思い浮かばないんじゃないかなと思っています。
気象予報士としてしばしば考えているのが、ユーザーが本当に知りたい情報って、実はこういう「気温が何度」とかいうお話ではなくて、「どんな服を着て行けばよいのか」「傘を持って行くべきなのか」。もっと極端な話をすると、「避難したほうがよいのか」(こういった)よりユーザー目線の情報を私たちは求めているんじゃないかと思っていました。
一方で、これはITシステムでも同じことが言えませんか。例えばCPUの使用率、ディスクの使用量といったメトリクスの収集も大切です。ただ、システムがきちんと動作をしている、レスポンスタイムが正常である、ユーザーエクスペリエンスを損なっていないのかという観点の監視も大切であると考えています。
本題に戻して、ダッシュボードの話でも同様です。ユーザー目線の情報を含んだようなダッシュボード。インフラのメトリクスを表示したようなダッシュボード。目的に合わせて複数種類のダッシュボードを使いこなすべきというお話が、本日のポイントとなってきます。
ということで、今回はThe Amazon Builders' Libraryの中から「運用を可視化するためのダッシュボードの構築」という記事についてお話しします。(スライドを示して)こちらのQRコードにアクセスしてもらうと記事に飛ぶことができます。
AWSのサービスは、世界中に展開された31ヶ所のリージョンにおいて実行されています。(スライドを示して)これらの動作を確認するためのポイントとなるのが、このダッシュボードです。Amazonではダッシュボードをどのように活用して世界中に展開されたサービスの動作を確認しているのか。今日はそのノウハウをお話しできたらと思っています。
(スライドを示して)ということで、こちらが本日のアジェンダです。まずAmazonにおいてダッシュボードを活用する手法、Dashboardingについてお話ししていきます。その中でどんなダッシュボードを作っているのか、どのようなレイアウトで作っているのかといったお話をした後、最後にダッシュボードを作った後の保守・運用についてお話しできたらと思っています。
まず、今回そもそもなぜダッシュボードについて取り上げているのかについて説明していきます。Amazonではこの6つの要素、サービスの設計やコーディング、構築やテスト、デプロイ、スケーリング、これらの要素と並んでダッシュボードが大切であると考えています。
これらの要素と同じぐらいダッシュボードが大切であると考えたことがある人は、恐らくそう多くないのかなと思っています。
じゃあどうしてAmazonはここまでダッシュボードを大切であると考えているのか。それは、どこで何が起こっているのか、システムの動作をリアルタイムで把握したいからです。
例えばあるシステムがあるとします。その中ではメトリクスなどのモニタリングやアラートをトリガーとした、トラフィックのシフトといった自動修復、また新しい機能の継続的デプロイメントなどを行なっています。
これらの要素が独立して動いていると、結局のところどこで何が起こっているのかわからないような状態になってしまって、なにか障害があった時に対処できない。いわゆるオブザーバビリティが低いような状態になってしまいます。
そこで出てくるのがこのDashboardingです。Dashboardingというのは、システムで行われる処理・現状をダッシュボードを使って確認できるようにすることだと言えます。
「ダッシュボードを使ってシステムを監視している」と聞くと、恐らくアニメやドラマかなにかの影響で、「なんとなくたくさんのモニターに囲まれた担当者がそれを24時間体制で交代で監視している」みたいな光景を想像される方が一定数いるのかなと思っています。
一方で、Amazonでは運用メンバーが常に張り付いてダッシュボードを見ているような運用はしていません。なぜなら、手動での運用は人為的なエラー、要はうっかりミスでうまくいかないということを知っているからです。
じゃあAmazonはどのようにしてこのダッシュボードを活用しているのか。ポイントは2つあります。まず1つ目がアラートの作成です。常にダッシュボードを見ることができないからこそ、最も大事なデータを評価するアラートを作成しておいて、アラートが出た時には自動で修復するようなワークロードを走らせます。
このタイミングで運用メンバーに通知が行くのですが、このタイミングで活用されるのがダッシュボードです。アラートに関連するダッシュボードをあらかじめ作成しておいてすぐに開けるようにしておく状態が大切で、障害時にはダッシュボードを使って、クライアントへの影響や障害の根本原因を迅速に検証することが可能になります。
2つ目が、役割・用途に応じた複数枚のダッシュボードを用意しておくということです。先ほども少しお話ししましたが、障害というシチュエーションなら、運用メンバーは根本原因を特定するためのより詳細なダッシュボード、ビジネスの関係者にとってはミーティングなどで使ったり、もしくは対外的にこの障害を発表するための影響範囲をモニタリングするためのダッシュボードが必要となってきます。
じゃあ複数種類用意する必要のあるダッシュボードは、どのように考えて作る(のか、どのように)ダッシュボードを決めているのかというお話をしていきます。
「Amazonという会社は『地球上で最もお客さまを大切にする会社』という言葉を掲げている、顧客志向である」ということを聞いたことがあるかもしれません。ダッシュボードの作成にもこの顧客志向という考え方が活きていて、どのようなユーザーがどのような用途でこのダッシュボードを使うのかを考えてダッシュボードを作っていきます。
そのようにして作ったダッシュボードは大きく分けて2つ。高レベルなダッシュボード、そして低レベルなダッシュボードに分類されます。システムの全体像、具体的にはクライアント目線や管理人目線といった、比較的抽象度の高い内容の高レベルなダッシュボード。そして運用メンバーが使うような、特に機能にフォーカスしたような低レベルなダッシュボード。この2つが存在しています。
この高レベル・低レベルなダッシュボードについて、Amazonではどのようなものを必要としてどのようなものを作っているのか、より具体的に見ていきます。まずは高レベルなダッシュボードです。
1つ目はカスタマーエクスペリエンスダッシュボードということで、Amazonで最も重要かつ運用メンバーを含む多くの関係者、幅広いユーザーグループに使用されるダッシュボードとなっています。
全体的な健全性といった情報や外形監視、いわゆるSynthetic Monitoringやリアルユーザーモニタリング、RUM(Real User Monitoring)といったよりユーザー目線の情報ですね。こちらは最初の天気予報の例でもお話ししました。
これらの組み込んだダッシュボードを使うことによって、影響を受ける顧客の数、もしくはどのような顧客が影響を受けているのかといった、クライアント目線の質問に答えることが可能になります。
2つ目がシステムレベルでのダッシュボードということで、こちらは運用メンバーがシステムとその顧客向けエンドポイントの2つの動作を確認するためのダッシュボードです。
ここでは認証の失敗、もしくはリクエスト数といった入力関連の情報、バックエンドマイクロサービスへの成功率もしくはレイテンシーといった処理関連の情報、そして応答サイズ、応答時間といった出力関連の情報を表示しています。
この2つの高レベルのダッシュボードについては、情報が多すぎると、伝える必要のある重要なメッセージを妨げてしまう可能性があるという共通点があります。ですので、この2つのダッシュボードでは情報が増えすぎてしまうことを避けるようにしています。
次に、低レベルなダッシュボードの具体例です。1つ目はマイクロサービス固有のダッシュボードです。こちらはサービスの深い知識を必要とするような実装に特化した情報、例えばモニタリングデータ、エラーレートやレスポンスタイムといったものを表示して、サービスチームはこれらのダッシュボードを使って原因や異常を特定します。
2つ目がインフラストラクチャーのダッシュボードということで、AWSでいうところのAmazon EC2やECS、Lambda関数といった、コンピューティングリソースが生成するメトリクス。例えばCPU使用率やネットワークトラフィックなどを記録しています。
3つ目が依存関係のダッシュボードということで、こちらは他のマイクロサービスと連携している場合に作成します。特に相手のチームがすでにそのマイクロサービスについてダッシュボードを作っていたとしても、この依存関係に特化したようなダッシュボードを作成してあげます。
これによって、自分たちのチームのマイクロサービスから見てその相手のチームのサービスが動いているのか、レスポンスタイムは正常なのかといった、自分たちの視点に特化したダッシュボードを見ることができます。
(次回に続く)
関連タグ:
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.12.04
いつも遅刻や自慢話…自分勝手な人にイラっとした時の切り返し 不平等な関係を打開する「相手の期待」を裏切る技
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
2024.12.03
職場の同僚にイライラ…ストレスを最小限に抑える方法 臨床心理士が語る、「いい人でいなきゃ」と自分を追い込むタイプへの処方箋
2024.12.05
「今日こそやろう」と決めたのに…自己嫌悪でイライラする日々を変えるには
PR | 2024.12.04
攻撃者はVPNを狙っている ゼロトラストならランサムウェア攻撃を防げる理由と仕組み