Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TerraformとJenkinsによる外形監視管理の自動化

298 views

Published on

「Battle Conference Under30」で発表された資料です。

https://bcu30.jp/2019/

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

TerraformとJenkinsによる外形監視管理の自動化

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

×