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
petなEC2をまとめて監視してみた
Search
athagi
March 11, 2024
Technology
1
220
petなEC2をまとめて監視してみた
20240311 OpsJaws#27 でお話しした内容です。
監視の存在しないEC2をスケールする形で監視するシナリオでお話します。
athagi
March 11, 2024
Tweet
Share
More Decks by athagi
See All by athagi
社内でAWS GameDayを開催しよう
athagi
2
480
既存の仕組みを棄てる技術
athagi
0
740
冴えない開発環境の育てかた
athagi
0
89
GitLab-CI でPrivate Registry を利用する話
athagi
0
1.5k
Kubernetes がない世界の CloudNative ジャーニー
athagi
0
370
ゆるキャンはじめました。
athagi
0
1.6k
Windows Server にAnsibleを使ってみた話
athagi
2
2.1k
Other Decks in Technology
See All in Technology
A2Aのクライアントを自作する
rynsuke
1
170
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
200
Definition of Done
kawaguti
PRO
6
480
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
950
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
2
240
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
140
MySQL5.6から8.4へ 戦いの記録
kyoshidaxx
1
200
実践! AIエージェント導入記
1mono2prod
0
160
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
220
Azure AI Foundryでマルチエージェントワークフロー
seosoft
0
180
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
180
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
1
530
Featured
See All Featured
Designing for humans not robots
tammielis
253
25k
Rails Girls Zürich Keynote
gr2m
94
14k
Automating Front-end Workflow
addyosmani
1370
200k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Side Projects
sachag
455
42k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Building an army of robots
kneath
306
45k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Transcript
petなEC2をまとめて監視してみた 20240311 OpsJAWS #27 #opsjaws #jawsug HAGITA Atsushi @_athagi
自己紹介 名前:萩田 篤(@_athagi) 所属:株式会社 Works Human Intelligence 肩書:EM, SM 仕事:DX推進(Developer
eXperience) 好きなAWSサービス:AWS Support, IAM, SSM
目次 1. 目指すゴール 2. 各コンポーネントの説明 a. Resource GroupとTag b. Run
CommandとDocuments c. State Manager d. 通知 3. まとめ
目指すゴール
目指すゴール シナリオ • まだ監視の存在しないEC2インスタンス • それぞれが別々のワークロードで利用されている • 今後EC2インスタンスは増える可能性がある • (SaaSは利用せずに)AWSで完結させたい
• なるべく楽がしたい
目指すゴール
各コンポーネントの説明
Resource GroupとTag
Resource GroupとTag • 大切に育てていたインスタンスをまとめて管理で きるようにする • Tag Editor等を利用してインスタンスにタグを付与 (CFnインポートできるとgood) •
Resource Groupの対象とするインスタンスはAND 式でフィルタできる • 作成したリソースグループを起点にして管理でき るようにしていく • タグを設定しておくことでAWS Backupの設定でも 楽ができる
Run CommandとDocuments
Run CommandとDocuments • Systems Managerで管理ができるように権限付与を行う ◦ AmazonSSMManagedInstanceCore ▪ SSMがEC2を管理下におくための基本的なポリシー
◦ CloudWatchAgentServerPolicy ▪ CloudWatchに対してデータを送信できるようにするポリシー • 数分後にSystems Manager側からも見えるようになる • 高速セットアップやRun Commandで実行対象として作成したResource Groupを選 択できるようになる • Session Managerも利用できる
Run CommandとDocuments • Parameter StoreにCW用のconfig.jsonを用意 ◦ 文字数制限(4096バイト)があるので注意 •
CloudWatch Agentとconfig.jsonをインストールでき るDocumentを作成 ◦ 高速セットアップだと任意のconfig.jsonを配布 できない ◦ 以下をまとめたDocumentを作成 ▪ AWS-ConfigureAWSPackage • Agent をインストール&最新の状態に保つ ▪ AmazonCloudWatch-ManageAgent • config.jsonをインストールする • 設定方法が複数(configの上書き、追加、部分 更新)がある
State Manager
State Manager • Resource Groupにインスタンスが追加・変更されたタイミングで自動で発火するよ うにする • cronで時刻ベースで実行する設定も追加できる • 任意のタイミングで実行させたいときは、CLIでstart-associations-once
を実行す る • 高速セットアップ(Host Management)のCloudWatch Agentのインストールは無効 化しておく 関連付けはいつリソースに適用されますか?
State Manager それぞれのインスタンスに対しての実行結果が確認できる
State Manager • インスタンス/ステップごとに実行結果のログをRun Commandの実行ログから確認 できる • S3やCloudWatch Logsに保存することも可能
通知
通知 • 送信されたメトリクスからダッシュボードやアラームを作成し、Chatbot経由で slack等に送信 ◦ slackのスレッドで簡易的にクエリできる • Alermからlambda経由でRun Commandを実行したり、インスタンスを再起動した
りできる
まとめ
まとめ • インスタンスに適切にタグとロールを付けるところから始める • Resource Groupを利用してインスタンスをまとめる • Run CommandでCloudWatch
Agentの管理をする • State Managerを利用して自動的に設定変更を配布する • Chatbotを使ってslackに通知をする • 増えたとしても楽に設定配布はできるようになったが、かゆいところに手が届かな いので作り込む必要がある