NetOpsCoding#4 (2016/10/27) #netopscoding
服部さん:従来の運用: ・大手企業様 →ガチガチな運用をやっていた ・アプリ開発者が、NW運用チームに作業依頼(メールで) ・作業担当者は、依頼内容に基づいて、Excelで作業手順書を作成し、承認リレーを回す ・当日に、作業手順書に基づいて、手作業で #netopscoding
2016-10-27 19:37:51服部さん:そうだ!自動化しよう!: ・面倒くさい ・手作業で行うので入力ミスも ・障害につながる #netopscoding
2016-10-27 19:39:03服部さん: 自動化しよう! ・最初からスクリプトを書いて実行したほうが楽 →とは言え、現場の作業者はノンプログラマ →責任者もノンプログラマなので、承認してよいかわからない ・ノンプログラマが確認可能なものを #netopscoding
2016-10-27 19:39:17服部さん:YAML手順書へ: ・Excelのときは、画面キャプチャなどを取り込んで作業手順を書いていた ・YAMLへ →対象機器 →設定手順 ・YAMLは覚えてもらうしかないが #netopscoding
2016-10-27 19:40:16服部さん:YAML手順書の細かな工夫: ・日本語キーワード →可読性を上げる ・キーワード表記の揺れに対応することで、より気楽に記述可能 →仮想サーバ作成 →仮想サーバー作成 などなど #netopscoding
2016-10-27 19:41:15服部さん:Kompiraによる自動運用: ・以来はメールで ・YAML手順書を記述 ・Kompiraサーバーに登録 ・YAML手順性が承認リレーに #netopscoding
2016-10-27 19:42:24・作業準備には、レガシーなまま →作業実施は、オペレーターが介在せずに →Kompiraがキック →自動実行 #netopscoding
2016-10-27 19:42:25YAML の日本語キーワード だいだい合っていれば、マッチさせる → 似たようなFWポリシーとかどうなるのだろうか? #netopscoding
2016-10-27 19:42:53服部さん:Kompira上に作成した登録画面: ・テキストフィールドのところにYAMLを貼り付ける →所定の時刻に実行 #netopscoding
2016-10-27 19:42:57服部さん:YAML手順書から設定変更までのながれ: ・YAMLパーサー→構造をパース ・手順書のパラメータ誤りをチェック →現在の設定情報を元に →→機器から取得して →この部分、結構頑張っています ・設定コマンド作成 ・設定コマンド実行 →リモート #netopscoding
2016-10-27 19:44:51服部さん:NW機器運用自動化の壁: ・CLIの壁 →SSGはAPIがないので、設定情報の取得は変更をCLI経由で行う必要あり →BIG-IPは、よく出来た(SOAP)APIが提供されている →→bigsudsを #netopscoding
2016-10-27 19:46:20・Telnetの壁 →そもそもTelnetしか、という場合が多い →Expectでなんとかするしかない →踏み台ルーター経由によるアクセス #netopscoding
2016-10-27 19:47:42・冗長構成(Active-Standby)の壁 →冗長構成を組んでいる場合、設定投入はアクティブ側にのみ行う必要あり →→設定の同期を考慮 →どっちがアクティブ?を判断 #netopscoding
2016-10-27 19:48:16・設定リカバリーの壁 →コンフィグファイルのアップロードによるリカバリは、数分間の通信断が発生するため最終手段とする →投入したコマンドの逆コマンドを実行して切り戻す #netopscoding
2016-10-27 19:49:06服部さん:CLIの壁: ・設定情報の取得 ・get configコマンドで取得してパース ・Pythonを使ってパース、辞書的なデータに変換して →コマンドリファレンスとにらめっこして、一個一個パースした ・shlexライブラリも #netopscoding
2016-10-27 19:50:23服部さん:CLIの壁: ・コマンド生成 ・YAMLの手順書からSSGの設定コマンドを生成 →構文木を辿って設定コマンド文字列を生成 #netopscoding
2016-10-27 19:50:59服部さん:Telnetの壁: ・ややこしい話 ・何が嫌? →コマンド実行は良いが、結果と、その後に表示されるプロンプトは、Telnetとしては区別できない →コマンド実行が終わってから次のコマンドを実行したい →→コマンドの結果とプロンプトを分離したい #netopscoding
2016-10-27 19:51:59・コマンドに依ってはプロンプトが変わる場合 ・エラーが表示される場合 →失敗しているのでその時点で止めたい #netopscoding
2016-10-27 19:52:30