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
TerraformとJenkinsによる外形監視管理の自動化
Search
gree_tech
PRO
July 08, 2019
Technology
0
410
TerraformとJenkinsによる外形監視管理の自動化
「Battle Conference Under30」で発表された資料です。
https://bcu30.jp/2019/
gree_tech
PRO
July 08, 2019
Tweet
Share
More Decks by gree_tech
See All by gree_tech
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
650
ヘブンバーンズレッドのレンダリングパイプライン刷新
gree_tech
PRO
0
650
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
640
「魔法少女まどか☆マギカ Magia Exedra」のグローバル展開を支える、開発チームと翻訳チームの「意識しない協創」を実現するローカライズシステム
gree_tech
PRO
0
640
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
690
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
660
ヒューリスティック評価を用いたゲームQA実践事例
gree_tech
PRO
0
640
ライブサービスゲームQAのパフォーマンス検証による品質改善の取り組み
gree_tech
PRO
0
640
コミュニケーションに鍵を見いだす、エンジニア1年目の経験談
gree_tech
PRO
0
140
Other Decks in Technology
See All in Technology
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
580
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
430
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
120
AWSで始める実践Dagster入門
kitagawaz
1
620
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
170
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
110
はじめてのOSS開発からみえたGo言語の強み
shibukazu
1
190
slog.Handlerのよくある実装ミス
sakiengineer
4
170
Modern Linux
oracle4engineer
PRO
0
100
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
140
「Linux」という言葉が指すもの
sat
PRO
4
140
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
GraphQLとの向き合い方2022年版
quramy
49
14k
GitHub's CSS Performance
jonrohan
1032
460k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
KATA
mclloyd
32
14k
The Language of Interfaces
destraynor
161
25k
BBQ
matthewcrist
89
9.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Statistics for Hackers
jakevdp
799
220k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Embracing the Ebb and Flow
colly
87
4.8k
Transcript
TerraformとJenkinsによる 外形監視管理の自動化 2019/07/06 グリー株式会社 李 一凡 @Bcu30
・李 一凡 ( YIFAN LI ) ・2015年~来日 ・2018年にグリー新卒入社 ・インフラ部サービスインストレーション チーム所属
自己紹介 ・普段の仕事: インフラの運用 RDBMS Monitoring ・最近の趣味 Goを書くこと
モニタリング サービス利用者視点 ・サービスが使えるか サービス管理者視点 ・メトリクス ・ログ ・プロセスの死活 ・サービスの正常性を監視して問題を特定するシステム
外形監視(Synthetics)とは ・ユーザーアクセスをシミュレートして、定期的に、外部公開してい るURLに対してリクエストを送り、レスポンスタイムとステータス コードをチェックすること 内部監視 外形監視 サービス
グリー外形監視ツールの世代交代 旧 新 内製の外形監視サービス ・OSやミドルウェアのバージョン アップでメンテの手間がかかる ・(AWS EC2) 監視経路は一経 路だけのため、誤検知しやすい
外製の外形監視サービス ・メンテの手間がなくなる ・マルチ経路、誤検知しにくい
外形監視サービス
外形監視サービス 無料でも使える REST API 基本的な監視機能完備 (PRO PLAN) SSL証明書期限の監視
導入課題 uptimerobotはSSO (シングルサインオン) 機能がない ・web consoleにログインできるのは1ユーザーしかない ・共有のpasswordを使い回すのは嫌 300程の監視URLがある ・APIから一括設定したい ・変更記録を残したい
Terraform Terraformの概念 ・Infrastructure As Code Terraformのコンポーネント ・Config ・HCL、JSON ・Provider ・各プラットフォームと通信する
・AWS、GCP、AZUREなど ・tf.state ・状態ファイル Terraformのworkflow Code Plan Apply コードを書く 変更を確認 変更を反映
Terraform uptimerobotのprovider ・https://github.com/louy/terraform-provider-uptimerobot ・自社の運用に合わせて機能を拡張している
Terraformのmodule Terraformのmodule ・設定ファイルをmodule化にする 各moduleをloadする 共通のalter通知先の設定 alter通知先idをexposeする monitorの設定 monitor設定に必要な 変数 access
keyなどの変数
CI ( Continuous Integration ) コードがあれば自動化ができる!! ・CIはJenkinsを使っている Jenkinsにやってほしいこと ・git pull
requestが出されたら ・terraform validate:syntaxチェック ・terraform plan: 実行計画の確認 ・masterブランチにmergeされたら ・terraform apply: 本番に反映 ・api keyを管理する
最終構成
運用上の問題点 ・(uptimerobot) http status codeが3xxの時、リダイレクト先まで辿り着く ・問題となるエンドポイントはパッと分からない ・アラートの自動確認仕組みを入れたい ・(uptimerobot) status pageは検索機能がない
・CLIツールを作りました ・簡単に設定を確認することができる。 ・https://github.com/c-bata/go-prompt
まとめ 今までやったこと: ・外形監視サービスの選定 ・TerraformとJenkinsで自動化管理の実装 今後にやりたいこと: ・アラートの自動対応 ・uptimerobotのprometheus exporterを試したい ・https://github.com/maaruhoshi/uptimerobot-prometheus-exporter
ありがとうございました!