Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
エンジニアと気軽に繋がれるプラットフォーム「ハッカー飯」で行った セキュリティ・モニタ...
Search
NobuakiKikuchi
May 10, 2022
Technology
0
810
エンジニアと気軽に繋がれるプラットフォーム「ハッカー飯」で行った セキュリティ・モニタリングに関する取り組みについて
スタートアップ事例祭り 〜監視・モニタリング・セキュリティ編〜
https://aws-startup-community.connpass.com/event/241721/
NobuakiKikuchi
May 10, 2022
Tweet
Share
More Decks by NobuakiKikuchi
See All by NobuakiKikuchi
ハッカー飯に New Relic を導入して実践した3つのこと
nobuakikikuchi
0
700
失敗を経験したあなたへ〜建設的なインシデントの振り返りを行うために実践するべきこと〜
nobuakikikuchi
0
690
約1万台のサーバー運用を行うMSPの舞台裏
nobuakikikuchi
0
490
Dockerをざっくり知る
nobuakikikuchi
0
720
Other Decks in Technology
See All in Technology
Taming you application's environments
salaboy
0
190
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
SSMRunbook作成の勘所_20241120
koichiotomo
2
130
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
380
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
強いチームと開発生産性
onk
PRO
34
11k
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
The Rise of LLMOps
asei
7
1.4k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
GraphQLとの向き合い方2022年版
quramy
43
13k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Happy Clients
brianwarren
98
6.7k
Transcript
エンジニアと気軽に繋がれるプラットフォーム「ハッカー飯」で行った セキュリティ・モニタリングに関する取り組みについて 菊池 宣明
自己紹介 菊池 宣明 • 主に SRE 関係の仕事を担当 • 今年からハッカー飯の開発メンバーとしてジョイン 経歴
• 科学系の大学院を卒業→ CIer(新卒) → 独立 • エンジニア5年生 趣味 • ゲーム(スマブラ、Fortnite) 好きな AWS サービス • AWS サポート @kikulabo
ハッカー飯とは? 技術や知識でアイデアを形にする人々(=ハッカー)が、 ご飯を囲むような気軽さで、語り合い、教え合い、繋がれるオンラインプラットフォーム
• 会社概要 ◦ 会社名: 株式会社スタークロス ◦ 代表取締役: 西田宗太郎 • ハッカー飯の特徴
◦ 話したいことをもとにエンジニアと1 on 1マッチング ◦ 複数人とエンジニアと簡易的なイベントを行う、食事会 ◦ 興味のあることをもとに集まるコミュニティ機能 • サービス開発の背景 ◦ アイデアを形にするエンジニアが周りにいない ◦ 他の企業に勤めてるエンジニアの生の声が知りたい ◦ 技術雑談をして新しい発見をしたい などなど、エンジニアと気軽に話せる環境が周りにあまりないといった課題を解決するため ハッカー飯とは?
ハッカー飯の特徴
ハッカー飯の特徴
ハッカー飯の特徴
ハッカー飯の特徴
ハッカー飯の特徴
ハッカー飯の運営・開発について • 運営に関して ◦ メンバー全員それぞれ本業がある中、副業でハッカー飯に携わっている • 開発スタイル ◦ 毎週土曜日に Discord
のボイスチャンネルに入室し各々開発を進めていく ◦ 1時間開発して10分間休憩(スマブラ)をするというサイクルで行っている ◦ 夜に定例を行いそれぞれのタスクの確認や今後の方針について話し合う • 収益化に関して ◦ 現状収益化がまだ出来ていないのでコストを抑えた構成となっている ◦ 今後法人版のハッカー飯を作り、企業の中のエンジニアと気軽に繋がれるようなシステムを構築する予定
本日お話しする内容 • セキュリティ ◦ Lightsail を EC2 へ移行した話 ◦ IAM
ユーザの管理 • モニタリング ◦ New Relic 導入の話
本日お話しする内容 • セキュリティ ◦ Lightsail を EC2 へ移行した話 ◦ IAM
ユーザの管理 • モニタリング ◦ New Relic 導入の話
ハッカー飯のインフラ構成の概要(初期)
ハッカー飯のインフラ構成の概要(初期)
Lightsail とは? https://aws.amazon.com/jp/lightsail/
Lightsail の選定した3つの理由 • 理由①: コスト管理を行いやすいから ◦ 定額で使用できるため予算を立てやすい ◦ $3.5 のプランを使用すると
EC2 の一番安いインスタンスタイプを選択して1ヶ月稼働した金額よりも安くなる
• 理由②: 環境の構築を簡単に素早く出来るから ◦ 数クリックで環境を構築できるのは当時の開発メンバーにとって都合が良かった Lightsail の選定した3つの理由
Lightsail の選定した3つの理由 • 理由③: EC2 への移行も可能 ◦ Lightsail 上で取得したスナップショットを簡単に EC2
へエクスポートを行える
Lightsail を使っていて困ったこと • Lightsail に IAM ロールを使用できない ◦ EC2 のように必要な権限を付与した
IAM ロールを作成してアタッチするといったことが出来ない ◦ IAM ユーザを作成しアクセスキーをインスタンス内部に格納する必要がある • スケールアップが簡単に出来ない ◦ EC2 のようにインスタンスを停止しスケールアップして起動という操作が Lightsail では行えない ▪ Lightsail の場合スケールアップするにはスナップショットから作り直す必要がある ◦ 今後サービスが広く認知されアクセス数が増えた際に困りそう
Lightsail から EC2 へ移行 • アクセスキー/シークレットキーがハードコーディングされており誰でも見れる状態になっていた • 今後開発メンバーが増えてきた際にセキュリティ上リスクなると判断し、 IAM ロールを使用できる
EC2 へ移行 ◦ 移行の流れ 1. Lightsail を EC2 へエクスポート 2. 適切な権限に絞った IAM ロールを EC2 にアタッチ 3. 使用していたアクセスキーを無効化しテストを実施 4. 問題ないことを確認出来次第アクセスキーを削除
IAM ユーザの管理 • AWS コンソールへのログイン等がこれまで Root ユーザで行われていた • アクセスキーの使用を無くしたタイミングで IAM
ユーザ管理の見直しを実施 • ハッカー飯では簡単にセットアップできてユーザ管理を効率化出来る AWS Single Sign-On を採用
• AWS SSO を使用することでユーザー/グループの管理および認証を行える ◦ ポータルサイトにログイン後、所属しているグループに付与されている権限のみ使用を制限を出来る AWS Single Sign-On(SSO) について
本日お話しする内容 • セキュリティ ◦ Lightsail を EC2 へ移行した話 ◦ IAM
ユーザの管理 • モニタリング ◦ New Relic 導入の話
監視導入の背景 ① ② ③ ④ .NET 5 から .NET 6
へ バージョンを上げるぞ! ハッカー飯運営
監視導入の背景 ① ② ③ ④ .NET 5 から .NET 6
へ バージョンを上げるぞ! ハッカー飯運営 インフラ側の必要な作業を行わずに作業を終了
監視導入の背景 ① ② ③ ④ .NET 5 から .NET 6
へ バージョンを上げるぞ! ハッカー飯にログイン出来ない人が発生 ハッカー飯運営 インフラ側の必要な作業を行わずに作業を終了
ユーザが連絡することで運営側が障害を認知 監視導入の背景 ① ② ③ ④ .NET 5 から .NET
6 へ バージョンを上げるぞ! インフラ側の必要な作業を行わずに作業を終了 ハッカー飯にログイン出来ない人が発生 ハッカー飯運営
• 反省点 ◦ 必要な操作が本番環境で実施されていなかった ▪ 改善点: 手順のレビュー制度の導入や Ansible 化を実施 ◦
ハッカー飯が正常稼働しているかどうかをそもそも運営サイドが認知できていない ▪ 改善点: モニタリングツールの導入 • よりユーザ体験を向上させるためにモニタリングツールの導入を優先的に実施 障害内容の振り返り
• CloudWatch と SaaS 製のモニタリングツール ◦ どちらも出来ることは大方一緒(のはず)で、得意分野がそれぞれ異なる。 ◦ CloudWatch ▪
AWS リソースを手早くモニタリングすることが出来る ◦ SaaS 監視ツール ▪ マルチアカウント/クラウドの管理が得意 • 将来的にマルチアカウント/クラウド化しても大丈夫なようにハッカー飯では SaaS 監視ツールを採用 モニタリングツールの選定
New Relic について • ハッカー飯では New Relic という SaaS 製の監視ツールを導入
◦ 選定理由: 1ユーザであれば全ての機能を期間制限なく無料利用枠で使用できるため ▪ ※月間100GBまでのデータ容量であれば無料(他にも制限は存在します) • New Relic の主な機能 ◦ Telemetry Data Platform ▪ テレメトリデータを収集・格納する場所。チャートやダッシュボードを作成することも出来る。 ◦ Full Stack Observability ▪ 収集したテレメトリーデータを分析・可視化することが出来る機能。 ◦ Alert and Applied Intelligence ▪ 閾値ベースのアラート設定や、異常値の検出やインシデントの予測等を行う機能。
• ハッカー飯では New Relic という SaaS 製の監視ツールを導入 ◦ 選定理由: 1ユーザであれば全ての機能を期間制限なく無料利用枠で使用できるため
▪ ※月間100GBまでのデータ容量であれば無料 • New Relic の主な機能 ◦ Telemetry Data Platform ▪ テレメトリデータを収集・格納する場所。チャートやダッシュボードを作成することも出来る。 ◦ Full Stack Observability ▪ 収集したテレメトリーデータを分析・可視化することが出来る機能。 ◦ Alert and Applied Intelligence ▪ 閾値ベースのアラート設定や、異常値の検出やインシデントの予測等を行う機能。 New Relic について メトリクス、イベント※、ログ、トレースのことを指す ※New Relic Agent が送信するデータ
Telemetry Data Platform について • Agent をインストールすることでテレメトリーデータを Telemetry Data Platform
に送信することが出来る • テレメトリーデータを基にダッシュボードを作成することも可能
• New Relic APM ◦ アプリケーションのパフォーマンスの計測を行える機能 Full Stack Observability について
Webリクエストの処理に費やす平均時間
Full Stack Observability について • New Relic APM ◦ アプリケーションのパフォーマンスの計測を行える機能
1分間に処理するリクエストの数
Full Stack Observability について • New Relic APM ◦ アプリケーションのパフォーマンスの計測を行える機能
• Apdex Score について補足 ◦ ユーザ満足度を定量的に表したもの ◦ レスポンスタイムの閾値を T とした時、リクエストを以下の3つのレベルに分類
▪ <満足> レベルのリクエスト: レスポンスタイム ≦ T ▪ <許容可能> レベルのリクエスト: T < レスポンスタイム ≦ 4T ▪ <不満足> レベルのリクエスト: 4T < レスポンスタイム ◦ リクエストを分類後、下記の計算式を用いて Apdex Score を算出 ▪ 0~1 の値を取り、0が最悪のスコア、1が最高のスコアとなる Full Stack Observability について
Full Stack Observability について • New Relic Infrastructure ◦ CPU、メモリ、ディスク
IO やネットワークトラフィックを観測することも出来る
Full Stack Observability について • New Relic Synthetics ◦ システムに対して外部から稼働状況を確認する機能(外形監視)
Alert and Applied Intelligence について • New Relic Alert ◦
アラートの設定および通知先(Email、Slack、PagerDuty 等)を設定する機能
New Relic 使って実践していること • ユーザに影響が出そうなものをアラートとして設定 ◦ 外型監視、エラー発生率、レスポンスタイム等 • 1週間に一度メトリクス全体を一通り確認 ◦
アラートが発生していなくとも異常が発生していないかを確認するため ▪ 確認ポイント • エラーが起きていないか • レスポンスタイムに異常が起きていないか • インフラのリソース使用状況に問題が起きていないか ◦ 定期的にメトリクスを確認することで上記のような異常がアラートして検知される前に出来るだけ対処する
• セキュリティ ◦ Lightsail を EC2 へ移行した話 ▪ アクセスキーを廃止し IAM
ロールに置き換えることでキーが漏洩する可能性を最小限にした ◦ IAM ユーザの管理 ▪ Root ユーザでの運用をやめ、AWS SSO を使用したユーザ管理を行うようにした • モニタリング ◦ New Relic 導入の話 ▪ サービスが正常稼働していることを運営メンバーが把握できるようにアラートを設定 ▪ 定期的なパフォーマンスの観測会を行うことでユーザ体験の向上を目指す まとめ