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.

新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた

10,346 views

Published on

弊社ブログで発表の詳細書きました。
https://future-architect.github.io/articles/20180209/

2017/08/28 3社共同企画 Ansible 夏祭り LT枠 (DevOps , Ansible)

Published in: Engineering
  • Be the first to comment

新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた

  1. 1. 新卒3年目のぼくが、 でぶおぷす???なインフラおじさん方に Ansibleを導入してみた 0 3社共同企画 Ansible 夏祭り LT枠 2017/8/28 Future Architect, Inc. Shuntaro Saiba
  2. 2. 本日お話しすること 1 エンプラ基盤チームに対して (下っ端のわたしが、おじさんたちに) Ansible導入するの大変だったけど、 色々工夫して成功した話
  3. 3. Ansible導入の経緯を話します 2 Ansible導入をボスに提案した話 いきなり全部Ansibleは無理だから、スモールスタートした話 一人でやっていても厳しいから、Ansible仲間を広げた話 Ansibleをみんなが使えるような仕組みを整えた話 サーバを勝手に手でいじる人(先輩)を制した話 まとめ&これから 1つ 30sec ぐらいで しゃべります! 1 2 3 4 5 6
  4. 4. チームメンバー (イメージ) アプリチーム 基盤チーム ボス NWの人DBの人MWの人監視/ジョブの人 わたしOSの人 新人 : 後にJOIN
  5. 5. チームメンバー (イメージ) アプリチーム 基盤チーム ボス NWの人DBの人MWの人監視/ジョブの人 わたしOSの人 新人 : 後にJOIN Git使えるのは私だけ みんなDevOpsとは無縁
  6. 6. 5 ATTENSION チームメンバーに対する表現は 脚色しており、あくまでも”演出”です > チームのみなさまへ ※ 本当はおじさんとか思ってません ※ 悪く書いている部分は、特にモッテいるので気にせず
  7. 7. 自己紹介 6  齋場 俊太朗 (さいば しゅんたろう)  インフラ ~ CI回り担当 (新卒3年目) 配属からずっとAWS、今はオンプレ  Future Architect, Inc. Technology Innovation Group (OSS Vulsとかで聞いたことある人いますかね)  Qita 記事 “EC2上にHoneypot(T-Pot)をインストールして サイバー攻撃をELKで可視化してみた。” @tarosaiba
  8. 8. 話の経緯を少し
  9. 9. 話の経緯 8  金融系プロジェクトの基盤更改にアサイン(今年4月~12月) – サーバ&NWの下っ端として。最初はDCの入館申請作業ばっかり..  バリバリのエンプラ系 – なかなかお堅いです。もちろんオンプレ  問題あり。現行のサーバはまさに、ブラックボックス – Excelの設計書はもはや意味なし。「それ、信じちゃだめだからね」byボス  サーバ台数 ≒ 150台 (複数環境合わせて) – それぞれのサーバが5年間の手作業によって育ってきちゃっている
  10. 10. 9 が、しかし..
  11. 11. 10 「 サーバ構築は“元気玉”で 」 っえ?.. ※元気玉: メンバーみんなで手分けして、(手作業で)頑張ろうということ ボス わたし
  12. 12. 11 ウソだーーーー!
  13. 13. 12 ウソだーーーー! そこで Ansible を導入しようと 考えました
  14. 14. 13 Ansible導入をボスに提案した話 1 2 3 4 5 6  Infrastructure as Codeについての説明資料は自前で – DevOpsとかの言葉は通じない.. Gitも初なのでレベルを合わせて  初めは????だけど、実際に見せたらいい感じだった  エージェントレス & Redhatブランド は大きな後ろ盾になった こんなことができます 説明資料 ymlファイル DEMO ほー。ちょっとやってみてよ。 ボスわたし
  15. 15. チームメンバー (イメージ) アプリチーム 基盤チーム ボス NWの人DBの人MWの人監視/ジョブの人 わたしOSの人 新人 : 後にJOIN 好きに作ってよいよー 1 2 3 4 5 6
  16. 16. 15 スモールスタートした話 1 2 3 4 5 6  まずは、サーバへの設定ファイル配布に絞ってAnsibleを使い始めた – いきなり全てソースコード化するのはハードルが高い&拒否される可能性大と考えた – はじめは、hosts, resolv.conf のOS設定ファイル..等の配布にAnsibleを利用  Ansibleベストプラクティスとは反対をゆくrole構成 – 各サーバ種=各role 、 role/files / 配下はファイルシステムを再現 設定ファイル hosts roles/ etc/web-svr.yml db-svr.yml xxx-svr.yml db-svr/ xxx-svr/ tasks/web-svr/ deploy.yml files/ hosts resolv.conf サーバ種=role ファイルシステム を再現 構成 ※設定ファイルは別Gitリポ管理
  17. 17. チームメンバー (イメージ) アプリチーム 基盤チーム ボス NWの人DBの人MWの人監視/ジョブの人 わたしOSの人 新人 : 後にJOIN このDB設定ファイルも 配布してほしい! 1 2 3 4 5 6
  18. 18. 17 Ansibleの仲間を広げた話 1 2 3 4 5 6  垣根なくチームの要望に聞き耳を立てて、Ansibleでどんどんこなす!! – NW : NW機器のconfigの構成管理したいな.. – 基盤 : ifconfigの実行結果全部取集したいな..このpkg全台に導入してほしいな.. – APP:設定ファイル勝手に変更されてAPP動かなくなってる.. 構成管理したいな.. – 他にも: Windowsに対しても作業自動化したいな.. 要望を引出 Ansibleで できました!! 他メンバー NW機器も Windowsも NWの人 わたし
  19. 19. チームメンバー (イメージ) アプリチーム 基盤チーム ボス NWの人DBの人MWの人監視/ジョブの人 わたしOSの人 新人 : 後にJOIN NW便利になった! これはもっと使っていくべき 環境の精度があがってうれしい! あれはできます? これはできます? 1 2 3 4 5 6
  20. 20. 19 みんな使えるような仕組みを整えた話 1 2 3 4 5 6  AnsibleソースをExcel一覧から自動生成できるようにした – fileデプロイ、dir作成、user&group作成 けっこう簡単 (ymlの恩恵) – サーバ変更依頼は、Excelインターフェースで受けるようなフローに  Ansibleソース変更&実行フローはどんどん自動化 – “ Ansibleソース生成 → デプロイ → サーバへ適用 ” with Jenkins 専用Excelフォーマット 変換スクリプト with Ansibleソース @ Gitlab サーバへ適用 @
  21. 21. チームメンバー (イメージ) アプリチーム 基盤チーム ボス NWの人DBの人MWの人監視/ジョブの人 わたしOSの人 新人 : 後にJOIN dir一覧とusr&group一覧 書いたので適用していい?! 1 2 3 4 5 6
  22. 22. チームメンバー (イメージ) アプリチーム 基盤チーム ボス NWの人DBの人MWの人監視/ジョブの人 わたしOSの人 新人 : 後にJOIN もっとよくしよう! 1 2 3 4 5 6 手、動かします! 新メンバーも JOIN!! だんだん軌道に乗ってきた Git使える DevOps ♥ 研修でGit習った
  23. 23. 22 なのですが..
  24. 24. 23 サーバを手でイジイジして Ansible 導入を 阻害する人もいるわけで..
  25. 25. 24 サーバ勝手に手でいじる人を制した話 1 2 3 4 5 6  ソースコードとの差分は自動検知&フィードバック可能に – やっぱり(けっこうな先輩なので)、自分からは注意し辛い – 不整合一覧をチーム全体に共有して、ボスから指示いただくフローに  現状、fileの内容&dirのパーミッション変更は検知可能 シェルエラった パーミッション変更しよ パラメータ間違ってた file内容修正しよ 変更 ソースコードと 突合 フィードバック 情報を収集 (定期実行) ボス監視/ジョブの人 勝手にいじらないように! with わたし
  26. 26. チームメンバー (イメージ) アプリチーム 基盤チーム ボス NWの人DBの人MWの人監視/ジョブの人 わたしOSの人 新人 : 後にJOIN サーバ変更したら メモ渡すわ 1 2 3 4 5 6
  27. 27. 26 そして、ついに
  28. 28. 27 「 サーバ構築&管理は“Ansible”で 」 YES!! ( 大変だった… ) ボス わたし Not 元気玉
  29. 29. 28 まとめ&これから 1 2 3 4 5 6  DevOpsのツール&考え方と疎遠な人たちに導入するには工夫が必要 – 色々妥協して、やっと導入できました。(みんなGitは使えるようになっていません) – ほとんどの人にとってAnsibleはブラックボックスになっている(いい意味&悪い意味で) – トップダウンで導入ができない場合は、少しずつ仲間を広げていくしかなかった – もっと複雑なAnsibleコード書いてみたいけど..引継ぎが心配。。  ちょっと無理してでもAnsible導入して、本当に正解だった – 構築初期にソースコード化していなかったら、絶対にカオスになっていたと思います – 私もAnsible初だったので、皆に動かせるのを見せるまで大変でした..  まだ構築(Dev)フェーズ。本番運用(Ops)でどうやって使うかは検討中 – PJ全体として上の人がAnsible運用の検討を始めてくれた – まだまだ手さぐり状態なので、みなさまからアドバイスいただきたいです 一人では作業が 間に合わない
  30. 30. チームメンバー (イメージ) アプリチーム 基盤チーム ボス NWの人DBの人MWの人監視/ジョブの人 わたしOSの人 新人 : 後にJOIN ありがとうございました! Ansible 最高! 1 2 3 4 5 6

×