サーバー管理者が
JunosAutomationをやってみた
ネットワークプログラマビリティ勉強会 #10
2016/11/29
ジュニパーネットワークス株式会社
長縄達也
Disclaimer
This statement of direction sets forth Juniper
Networks’ current intention and is subject to
change at any time without notice. No purchases
are contingent upon Juniper Networks delivering
any feature or functionality depicted in this
presentation
自己紹介
長縄 達也
ジュニパーネットワークス株式会社所属
• 前職はSIer にてVMware/Oracle 等の構築、運用を担当
• Puppet でOS/MWインストール自動化を進めてました
• ※ Oracle RAC が辛かった、、 (-_-;)
Automation とは??
• 大きく分けて、以下の3つに分かれる
• 構築自動化
• OS, MW インストールの自動化, 共通設定の実施
• テスト自動化
• 構築後の設定に誤りが無いかを確認する
• 運用自動化
• 定型作業
• ユーザーID作成、 etc
• アラート対応
• CPU閾値越え, ファイルシステム閾値超え
運用フェーズ
構築フェーズ
サーバー自動化の現状
構築自動化
• 有名ツール
• Puppet / Ansible
• よく使う設定項目がモジュールとしてまとめてある
• DSL / YAML を使用した、抽象度の高い指定が可能
• Puppet のコード例
• Ansible のコード例
テスト自動化
• 有名ツール
• ServerSpec
• サーバーの設定内容を検証する
• Rspec と類似の文法での記述が可能
• ServerSpec のコード例
運用自動化
• 有名ツール
• Fabric
• 多数サーバーへのコマンド発行
• MWのAPIと組み合わせる
• Fabric のコード例
苦労する例
• マイナーなMWだと Puppetforge 等にモジュールが無い
• モジュールから自作する必要あり
• 冪等制の確保がとても大変 (-_-;)
• 製品によっては、そもそもAPIが無いものもある
• Web画面からの変更のみ、など
• curl で作りこむか、泣く泣く手順書で残すケースも、、
サーバー自動化の現状
• DevOps ツールが多数あるとはいえ、手組みの部分は依然として多い
• 各ベンダーが独自のAPI (Oracle は sqlplus, VMware はPerl, WebSphereはJython、 などベンダーご
とにバラバラ) を出しており、それらを統合して扱う運用ツールが無いため、不
足分は組織ごとに作りこむ必要がある
• 実は、ネットワーク自動化(Junos)の現状とさほど変わらない
• ※ MW が1つ増えて、独自APIが1セット増えた感じ
ネットワーク自動化(Junosに絞って)
Junosのプログラマビリティ
• Junosについていえば、既に一通りそろっている
• 構築自動化
• Ansible
• 運用自動化
• PyEZ
• dev.cli (コマンド発行)
• utils.config (コンフィグロード)
• テスト自動化
• 内製フレームワークあり
• Robot framework とPyEZ を組み合わせたもの。
• Professional Serviceの1つとして、Juniperから提供可能
テスト
サーバー/ネットワークで共有できる部分
ストレージ
サーバー
ネットワーク
ルーター
F/W
構成情報
ユーザー要求
ジョブ実行
監視ツール
- キャパシティ情報可視化
- 構成可視化
新規構築
共有したい
要検討
共有したい
共有したい
まとめ
• サーバー管理とネットワーク管理には共通部分が多い。運用ツールの多く
は共有できる
• Automation に対応しやすい製品とそうでない製品がある。最初の選択が
重要。
• Junosには、多数の実用的なAutomationツールがある。
20161129_npstudy_JunosAutomation

20161129_npstudy_JunosAutomation