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
Amazon CloudWatchを勉強して水分補給アラームを作ってみた
Search
amarelo_n24
July 29, 2021
Technology
1
830
Amazon CloudWatchを勉強して水分補給アラームを作ってみた
2021/7/29 JAWS-UG朝会 #23 資料
amarelo_n24
July 29, 2021
Tweet
Share
More Decks by amarelo_n24
See All by amarelo_n24
今年のふりかえりと来年目指すこと
amarelo_n24
0
610
ANS-C01を2回不合格になり認定試験受験に対する想い
amarelo_n24
0
700
鈍行列車の旅をやってみた話2023
amarelo_n24
0
100
DHCPオプションセットって何だろう??
amarelo_n24
2
4.5k
「UNIXという考え方」を読んでどう生きるか考えてみた
amarelo_n24
0
530
AWS認定、オンラインで受けるか?オフラインで受けるか?
amarelo_n24
0
430
Twitter Botを作ってカスタマイズとトラブルシュートをした話
amarelo_n24
1
530
情報量の単位についておさらいしよう
amarelo_n24
0
390
DynamoDBテーブルにAWSCLIでアイテムを一括登録する方法
amarelo_n24
0
660
Other Decks in Technology
See All in Technology
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
680
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.3k
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
150
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
150
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
500
OTelCol_TailSampling_and_SpanMetrics
gumamon
1
190
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
530
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
870
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Scaling GitHub
holman
458
140k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Visualization
eitanlees
145
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Code Review Best Practice
trishagee
64
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
4 Signs Your Business is Dying
shpigford
180
21k
Transcript
Amazon CloudWatchを勉強して 水分補給アラームを作ってみた 2021/7/29 JAWS-UG 朝会
自己紹介 氏名 :藤田 直幸 twitter:@amarelo_n24 ※ コーヒー焙煎人兼エンジニア 職場 :都内にある企業の情報セキュリティ統制担当 取得済AWS認定
:CLF、SAA、DVA(7/5合格!!) 今後の受験予定 :SOA-C02(9月予定)、SCS(年内?) 好きなAWSサービス:AWS CLI、AWS CloudShell、Cloud9 好きなコーヒー :ブラジル ブルボンアマレロ
1.はじめに 2.Amazon CloudWatch とは 3.給水アラームを作ってみた 4.まとめ 話すこと
1.はじめに
SysOpsアドミニストレーターアソシエイト(SOA-C02)の 勉強をはじめました。
出題分野で一番比重が多いのは「監視、ロギング、および解決」 ※AWS 認定 SysOps アドミニストレーター - アソシエイト (SOA-C02) 試験ガイドより
監視、ロギングはまだまだ理解が弱い…
おそらく肝となるサービスはCloudWatch(だろう)! CloudWatch勉強しよう!
夏になると、熱くなって仕事中に 水分不足を感じることが多々…
CloudWatchの実学を兼ねて CloudWatchで給水アラームを作ってみよう!!
2.Amazon CloudWatch 各種サービス
AWSリソースとAWSで実行されているアプリケーション、 オンプレミスで実行されているサービスをリアルタイムで モニタリングするサービスです。 メトリクスやログの収集・追跡をし、あらかじめ定義して おいたしきい値を超過した時に、通知を送信したり、 リソースを変更するためのアラームを作成します。 (1)Amazon CloudWatch とは
CloudWatchは、主に「メトリクス」「名前空間」「ディメンション」 で構成されています。 ①名前空間 メトリクスのコンテナであり、AWS/<サービス名>で表示される。 (例:AWS/EC2) 異なるアプリケーションのメトリクスが誤って同じ統計情報に集計されない ようにするため、異なる名前空間のメトリクスは相互に切り離されている。 (1)Amazon CloudWatch とは
②メトリクス ・CloudWatchに発行された時系列のデータポイントのセット。 ・データポイントにはタイムスタンプと測定単位がある。 ・同リージョン内で稼働しているサービスのメトリクスのみ集計。 ・標準メトリクスとカスタムメトリクスがある。前者は無料、後者は有料。 ・デフォルトで取得している間隔:1分 ・メトリクスを意図的に削除はできないが、一定期間を過ぎると 自動で削除される。 1分ごとのデータポイントを 15
日間保存 5 分ごとのデータポイントを 63 日間保存 1 時間ごとのデータポイントを 455 日間保存 (1)Amazon CloudWatch とは
③ディメンション メトリクスを一意に識別する名前/値のペア(例:インスタンス名/インスタ ンスID) (1)Amazon CloudWatch とは
マネジメントコンソールのCloudWatch画面より、すべてのメトリクスから 名前空間を選択します。 (2)メトリクスの確認方法
グラフ表示させたいメトリクス名とディメンション(EC2の場合、インスタン ス名とインスタンスIDの組み合わせ)を選択して確認します。 (2)メトリクスの確認方法 ディメンション メトリクス
メトリクスの監視状況をダッシュボードに表示させることもできます。 (2)メトリクスの確認方法
メトリクスを監視して、条件に合致したら実行するアクションを定義します。 定義されたしきい値を超えたら、SNSトピックに通知を送ったり、 EC2 アク ションまたは Auto Scaling アクションを実行したり、Systems Manager で
OpsItem またはインシデントを作成します。 (3)CloudWatch アラーム Amazon CloudWatch Alarm Client Amazon Elastic Compute Cloud (Amazon EC2) EC2インスタンスの メトリクスを監視 メール通知等 しきい値超え たらアラーム Amazon SNS Publish
数値の遷移をグラフで確認ができ、ダッシュボードに追加することもできます。 (3)CloudWatch アラーム
AWSサービスまたはオンプレミスサービスのログ集約、ログ監視、 ログ保存をして、運用負荷軽減と分析をしやすくします。 定義した条件に合致したら、アラームを送信することもできます。 ログデータの保存期間は1日~永久保存で設定できます。 また、S3にログ保存することも可能です。 (4)CloudWatch Logs Amazon EC2 Alarm
メール通知等 Amazon SNS Client Logs Amazon S3 publish ログ保存 ログ集約 条件合致したら アラーム
Log Insightsで、CloudWatch Logsのログデータを専用のクエリ言語にて 検索して分析することもできます。 マネジメントコンソールよりCloudWatch の画面を開き、「Log Insights」 から使うことができます。 (4)CloudWatch Logs
ルールに指定したイベントパターンを検知した場合、または指定した スケジュールに合致したら、ターゲットに処理を指示します。 ターゲットにはLambda、SNS、SQS、EC2などを指定できます。 ルールとターゲットは同じリージョンに存在する必要があります。 ※現在は、同じ基盤となるサービスと API を使った、 Amazon EventBridgeでも機能が提供されています。 (5)CloudWatch
Events Event (time-based) メール通知等 Amazon SNS Client Event (event-based) スケジュールで 実行指示 AWS Cloud イベント検知 実行指示
スケジュールは、Cron式またはRate式(分、時間、日)で設定します。 Cron式の文字列サンプルは以下の通りです(ユーザーガイドより)。 なお、Cron式で指定する時間はUTCで判定されるのため、日本時間の場合は、 9時間の時差を考慮して設定する必要があります。 (5)CloudWatch Events
3.給水アラームを作ってみた
CloudWatch Events から2時間おきにSNSからメール送信 (1)構成その1 Event (time-based) Amazon SNS Email notification
Mobile client AWS Cloud 2時間おきに 実行指示
①SNSトピックを作成し、サブスクリプションを作成します。 (2)構成その1設定(概要)
②CloudWatch Eventsにて、Cron式のスケジュールでSNSに実行指示 するルールを作成します。 (2)構成その1設定(概要)
③設定した時間にSNSからのメールを受信したことを確認して完成です。 件名:AWS Notification Message (2)構成その1設定(概要) ②で指定したJSONが表示さ れています。
イベント通知は分かった。監視とアラームを 組み込むことはできないか?
CloudWatch Event からSNSへの実行回数の合計が一定回数を 超えたら、AWS ChatbotからSlackにメッセージを出す。 (3)構成その2 Event (time-based) Amazon SNS
Email notification Mobile client AWS Cloud 2時間おきに 実行指示 Alarm Amazon CloudWatch Amazon SNS AWS Chatbot
①Chatbotからの通知確認をするために、まずはCloudWatchにてSNSの メトリクス「NumberOfMessagesPublished」の5分の合計が1件に なったら、SNSに実行指示するよう条件設定します。 (3)構成その2設定(概要)
②Chatbotにてログ記録とSlackチャネルを設定 (3)構成その2設定(概要) バージニア北部にロググループ が作成される。削除漏れがない よう、確認後にすぐに削除した。
③ChatbotからCloudWatchメトリクスにアクセスできるようIAMロール作成 (3)構成その2設定(概要)
④事前に作成したChatbot用のSNSトピックを設定します。 (3)構成その2設定(概要)
⑤試験的にChatbotに送られるか確認 (3)構成その2設定(概要)
送信確認はできたけど、上手い具合のタイミングに 送信できるよう調整に悩んでいる。。。 ※素直に別のイベント通知作った方が良さそう…
あと、アラームメールの件名をわかりやすくしたい。。。
Lambdaを間に挟まないとできない?
時間切れになってしまったので、 もう少し調べて実装してみたい。 ※Python何もわからん…
4.まとめ
・水分補給アラームを作ることで、CloudWatchでのメトリクス監視、 アラート設定、イベント通知を学ぶことはできた。 ・CloudWatch Logsを活用した仕組みも考えたい。 ・CloudWatch からSNSへの連携、Chatbotへの連携ができた。 ⇒特にChatbot触れられて良かった。 ・SNSから送られるメールの件名をわかりやすくしたい。 ⇒Lambdaを間に挟まないとできない?Python理解したい。 ・CloudWatchそのものもそうだが、監視設計をもっと理解したい。
まとめ
◆ユーザーガイド https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/WhatIsCloud Watch.html ◆ AWS Hands-on for Beginners 監視編 サーバーのモニタリングの基本を学ぼう
https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-monitoring- 2020-reg-event-LP.html?trk=aws_introduction_page ◆BlackBelt資料 https://d1.awsstatic.com/webinars/jp/pdf/services/20190326_AWS- BlackBelt_CloudWatch.pdf 参考文献
None