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
オンプレミス市監視村の人達と学ぶCloudWatch基礎
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Toru_Kubota
August 21, 2024
Technology
900
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
オンプレミス市監視村の人達と学ぶCloudWatch基礎
Toru_Kubota
August 21, 2024
More Decks by Toru_Kubota
See All by Toru_Kubota
ガバメントクラウドでのAWS DevOps Agentの活用
toru_kubota
2
5
制約が多いからこそ設計しがいがある!?公共領域でのAWSと生成AIの活用
toru_kubota
0
67
AWSアップデートから考える継続的な運用改善
toru_kubota
2
460
AWS Systems Managerのハイブリッドアクティベーションを使用したガバメントクラウド環境の統合管理
toru_kubota
1
310
ガバメントクラウド運用改善からSaaS製品の開発へ
toru_kubota
0
82
生成AI活用によるガバメントクラウド運用管理補助業務の効率化
toru_kubota
0
69
「どこにある?」の解決。生成AI(RAG)で効率化するガバメントクラウド運用
toru_kubota
4
1.2k
いつも初心者向けの記事に助けられているので得意分野では初心者向けの記事を書きます
toru_kubota
2
680
AWSの利点
toru_kubota
0
290
Other Decks in Technology
See All in Technology
現場で使える AWS DevOps Agent 活用ノウハウ - Release Management 機能の検証結果を添えて / AWS DevOps Agent Release Management and Know-How
kinunori
5
810
歴史から理解するクラウドインフラのしくみ
kizawa2020
0
190
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
0
190
AIで楽になるはずが、なぜ疲れる?
kinopeee
0
150
Power Automateアップデート情報
miyakemito
0
290
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
250
最新IoT事例11選に学ぶ!現場の成功パターンと実践のコツ【SORACOM Discovery 2026】
soracom
PRO
0
120
AI Agent を本番環境へ―― Microsoft Foundry × Azure Serverless で作る Enterprise-Ready な基盤
shibayan
PRO
1
910
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
「待ち時間」の消滅と「自我消耗」の加速:生成AI時代のエンジニアを救うメンタル・リソース管理
poropinai1966
0
360
VPCセキュリティ対応の最新事情
nagisa53
2
350
BigQuery を検索ソースとした AI Agent の作り方って 〇〇 通りあんねん
satohjohn
0
140
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
A Soul's Torment
seathinner
6
3.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
850
Between Models and Reality
mayunak
4
380
Fireside Chat
paigeccino
42
4k
Technical Leadership for Architectural Decision Making
baasie
3
450
The Language of Interfaces
destraynor
162
27k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
340
Six Lessons from altMBA
skipperchong
29
4.4k
Thoughts on Productivity
jonyablonski
76
5.3k
Code Reviewing Like a Champion
maltzj
528
40k
Transcript
オンプレミス市監視村の人達と学ぶ CloudWatch基礎 Amazon CloudWatch入門<会 みのるんのゲリラ勉強会&インフラ技術基礎勉強会コラボ 2024/08/21 久保田 亨
自己紹介 ・ 会社:株式会社大崎コンピュータエンヂニアリンク ・ 氏名:久保田 亨 ・ 業務:ガバメントクラウド関連(インフラ)
オンプレ歴が結構長いです
オンプレの例も入れつつ説明します よろしくお願いします!
こんな感じの構成があったとして 機器が壊れたらこまるな~
昔から利用されているSNMP監視 SNMPエージェント SNMPエージェント SNMPマネージャー ネットワークの通信量 サーバのCPU使用率 問合せ 応答
昔から利用されているPing監視 監視対象機器 SNMPエージェント 監視サーバ 死活監視 Ping 応答
責任共有モデル
こんな感じの構成があったとして AWSだとどうなりますか 中央のルーター その下のルーター サーバー
VPC Amazon EC2 AWS Transit Gateway 中央のルーター その下のルーター サーバー
VPC Amazon EC2 AWS Transit Gateway Amazon CloudWatch ※EC2はSNMPも可能です。 AWSだとCloudWatchを
使用すると良いよ
基本モニタリング → EC2を例に → 作ると有効になる Amazon EC2
CloudWatch Agentを入れる 間隔は指定可能 有料 自動的に有効になる 基本5分間隔 無料 CPU使用率 EC2ステータス メモリ使用率
ディスク使用率 メトリクス 設定で有効にする 1分間隔 有料 EC2を例に ・・・・・・・ ・・・・・・・ 基本モニタリング カスタムメトリクス 詳細モニタリング 赤枠が前のページの 「作ると有効になる」 とこね!
Amazon CloudWatch カスタムメトリクス → サーバの中から取得 基本モニタリング → サーバの外から取得 メモリ使用率 ディスク使用率
・・・・・・・ CPU使用率 EC2ステータス ・・・・・・・ CloudWatch Agent 余談 サーバの中から取るものと 外から取るもの
こんな感じの構成があったとして EC2以外のネットワークの とこは? 中央のルーター その下のルーター サーバー
VPC Amazon EC2 AWS Transit Gateway Amazon CloudWatch マネージドサービスは AWSだとCloudWatchを
使用する必要があるよ
Amazon CloudWatch 余談 今まで使用していた監視ツールも 使用出来ます CloudWatch API Amazon EC2 AWS
Transit Gateway
Transit Gatewayを例に AWS Transit Gateway → 作ると有効になる
通信内容の確認がしたい 例えば 192.168.1.10から10.1.1.10宛の 通信ログを見たいとかね
こんな感じの構成があったとして ログ ログ ログ わざわざログイン 機器故障でログ損失
昔からのログの集中管理 ログ ログ ログ ログ 監視サーバ Syslogサーバ むかしよく作りましたね!
CloudWatch Logsだと ログ ログ ログ CloudWatch Logs Alarm Amazon EC2
AWS Transit Gateway Amazon VPC もう作らなくていいんですね!
CloudWatch Logs → VPCを例に → VPCFlowlogsを作成する。 Amazon VPC 2024-07-14T06:48:04.000+09:002 123456789012
eni-12345678901234567 192.168.1.10 10.1.1.10 443 37344 6 26 7481 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 37344 443 6 20 6039 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 443 50948 6 27 7527 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 50948 443 6 20 6141 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 443 50956 6 25 7149 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 50956 443 6 17 3869 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 443 37344 6 26 7481 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 37344 443 6 20 6039 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 443 50948 6 27 7527 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 50948 443 6 20 6141 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 443 50956 6 25 7149 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 50956 443 6 17 3869 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 443 37344 6 26 7481 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 37344 443 6 20 6039 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 443 50948 6 27 7527 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 50948 443 6 20 6141 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 443 50956 6 25 7149 1720907284 1720907320 ACCEPT OK 2024-07-14T06:48:04.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 50956 443 6 17 3869 1720907284 1720907320 ACCEPT OK 2024-07-14T06:49:05.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 443 35498 6 4 184 1720907345 1720907345 ACCEPT OK 2024-07-14T06:49:05.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 35498 443 6 4 160 1720907345 1720907345 ACCEPT OK 2024-07-14T06:49:48.000+09:002 123456789012 eni-12345678901234567 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 443 45420 6 21 6947 1720907388 1720907389 ACCEPT OK
もっと見やすい方法はありますか 例えば 192.168.1.10から10.1.1.10宛の 通信ログだけ見たいとかね
CloudWatch Logs → VPCを例に CloudWatch Logs Insightsで見やすく Amazon CloudWatch fields
@timestamp, srcAddr, srcPort, dstAddr, dstPort, srcPort, action, protocol
CloudWatch Logs → VPCを例に ENI毎の通信量TOP10 Amazon CloudWatch fields @timestamp, @message
| stats sum(bytes) as TotalBytes by interfaceId | sort TotalBytes DESC | limit 10
特定のキーワードが出たらアラート 例えば /var/log/messagesに 1分で3回以上ERRORという文字列
〇〇フィルターというものがある →メトリクスフィルター →サブスクリプションフィルター 何々?? 用語が難しくて分らんよwww
メトリクスフィルター → EC2を例に → CloudWatch Agentを設定する。 /var/log/messages 2024-07-09T07:56:28.713+09:00 Jul 8
22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx systemd: XXXXXXXXXXXXXXXXXXX 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx systemd: XXXXXXXXXXXXXXXXXXX 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: XXXXXXXXXXXXXXXXXXX 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: XXXXXXXXXXXXXXXXXXX 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: XXXXXXXXXXXXXXXXXXX 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx systemd: XXXXXXXXXXXXXXXXXXX 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx systemd: XXXXXXXXXXXXXXXXXXX Amazon EC2
メトリクスフィルター → EC2を例に Logs Metrics Alarm /var/log/messages 2024-07-09T07:56:28.713+09:00 Jul 8
22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR キーワードの出力回数をカウント するメトリクス作成 出力回数のしきい値を設定 Amazon EC2 ERRORが何回出たかカウント
サブスクリプションフィルター → EC2を例に Logs 特定のキーワードを検知して 次の処理に送る 例)Lambda AWS Lambda ・
ログ本文を次の処理に渡せる ・ SNSにそのまま渡すことが出来ない ・ アカウントレベルを最大1つ、1つのロググループに最大2つまで Amazon EC2 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR 2024-07-09T07:56:28.713+09:00 Jul 8 22:56:27 ip-xxx-xxx-xxx-xxx-xxx amazon-ssm-agent: ERROR
アラートを見やすくしたい Slack通知もあるけど メール通知で考えてみる
デフォルト設定でも大丈夫だよ 英語分からないよwww
アラート通知 → メール通知を例に Metrics Alarm アラームでアクションの設定 Amazon SNS アラーム状態 OK
データ不足
アラート通知 → メール通知を例に Metrics EventBridgeで検知 Amazon SNS Amazon EventBridge アラーム状態
OK データ不足 状態変化があったら次の処理へ
アラート通知 → メール通知を例に Metrics メールの整形が簡単 Amazon SNS Amazon EventBridge
Amazon EC2 AWS Transit Gateway Amazon VPC Logs Metrics Alarm
Metrics AWS Lambda CloudWatch Logs まとめ メトリクスフィルター サブスクリプションフィルター CloudWatch Metrics CloudWatch Logs Insights Alarm Amazon EventBridge CloudWatch Alarm
ありがとうございました!