TerraformとJenkinsによる外形監視管理の自動化
by
gree_tech
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
TerraformとJenkinsによる 外形監視管理の自動化 2019/07/06 グリー株式会社 李 一凡 @Bcu30
Slide 2
Slide 2 text
・李 一凡 ( YIFAN LI ) ・2015年~来日 ・2018年にグリー新卒入社 ・インフラ部サービスインストレーション チーム所属 自己紹介 ・普段の仕事: インフラの運用 RDBMS Monitoring ・最近の趣味 Goを書くこと
Slide 3
Slide 3 text
モニタリング サービス利用者視点 ・サービスが使えるか サービス管理者視点 ・メトリクス ・ログ ・プロセスの死活 ・サービスの正常性を監視して問題を特定するシステム
Slide 4
Slide 4 text
外形監視(Synthetics)とは ・ユーザーアクセスをシミュレートして、定期的に、外部公開してい るURLに対してリクエストを送り、レスポンスタイムとステータス コードをチェックすること 内部監視 外形監視 サービス
Slide 5
Slide 5 text
グリー外形監視ツールの世代交代 旧 新 内製の外形監視サービス ・OSやミドルウェアのバージョン アップでメンテの手間がかかる ・(AWS EC2) 監視経路は一経 路だけのため、誤検知しやすい 外製の外形監視サービス ・メンテの手間がなくなる ・マルチ経路、誤検知しにくい
Slide 6
Slide 6 text
外形監視サービス
Slide 7
Slide 7 text
外形監視サービス 無料でも使える REST API 基本的な監視機能完備 (PRO PLAN) SSL証明書期限の監視
Slide 8
Slide 8 text
導入課題 uptimerobotはSSO (シングルサインオン) 機能がない ・web consoleにログインできるのは1ユーザーしかない ・共有のpasswordを使い回すのは嫌 300程の監視URLがある ・APIから一括設定したい ・変更記録を残したい
Slide 9
Slide 9 text
Terraform Terraformの概念 ・Infrastructure As Code Terraformのコンポーネント ・Config ・HCL、JSON ・Provider ・各プラットフォームと通信する ・AWS、GCP、AZUREなど ・tf.state ・状態ファイル Terraformのworkflow Code Plan Apply コードを書く 変更を確認 変更を反映
Slide 10
Slide 10 text
Terraform uptimerobotのprovider ・https://github.com/louy/terraform-provider-uptimerobot ・自社の運用に合わせて機能を拡張している
Slide 11
Slide 11 text
Terraformのmodule Terraformのmodule ・設定ファイルをmodule化にする 各moduleをloadする 共通のalter通知先の設定 alter通知先idをexposeする monitorの設定 monitor設定に必要な 変数 access keyなどの変数
Slide 12
Slide 12 text
CI ( Continuous Integration ) コードがあれば自動化ができる!! ・CIはJenkinsを使っている Jenkinsにやってほしいこと ・git pull requestが出されたら ・terraform validate:syntaxチェック ・terraform plan: 実行計画の確認 ・masterブランチにmergeされたら ・terraform apply: 本番に反映 ・api keyを管理する
Slide 13
Slide 13 text
最終構成
Slide 14
Slide 14 text
運用上の問題点 ・(uptimerobot) http status codeが3xxの時、リダイレクト先まで辿り着く ・問題となるエンドポイントはパッと分からない ・アラートの自動確認仕組みを入れたい ・(uptimerobot) status pageは検索機能がない ・CLIツールを作りました ・簡単に設定を確認することができる。 ・https://github.com/c-bata/go-prompt
Slide 15
Slide 15 text
まとめ 今までやったこと: ・外形監視サービスの選定 ・TerraformとJenkinsで自動化管理の実装 今後にやりたいこと: ・アラートの自動対応 ・uptimerobotのprometheus exporterを試したい ・https://github.com/maaruhoshi/uptimerobot-prometheus-exporter
Slide 16
Slide 16 text
ありがとうございました!