Slide 1

Slide 1 text

ネットワーク運用自動化ジャーニーの 歩み方と、これから目指す先 Ansible Automates Tokyo 2020 #ansibleautomates 株式会社 エーピーコミュニケーションズ 横地 晃 1

Slide 2

Slide 2 text

はじめに 2

Slide 3

Slide 3 text

内容  株式会社エーピーコミュニケーションズより  自動化の進め方  実装のポイント  株式会社JALインフォテック様より  Ansible で自動化するまでの経緯  導入後の変化、今後の展望 3 方法 弊社が提供している「自律支援型ネットワーク運用自動化サービス」 のお客様として共同登壇していただきます。 事例

Slide 4

Slide 4 text

自己紹介 4 所属 株式会社エーピーコミュニケーションズ 技術開発部 自動化グループ 共著 寄稿 Ansible実践ガイド 第3版 Software Design 2018年12月号 他 横地 晃

Slide 5

Slide 5 text

ネットワーク運用自動化の進め方 5

Slide 6

Slide 6 text

自律支援型ネットワーク運用自動化サービス 1. 導入サービス Phase1: 業務プロセスのコンサルテーション Phase2: Ansible Engineの導入 Phase3: Ansible Towerの導入 2. トレーニング Ansible Engine、Ansible Tower、GitLab のハンズオン オンライン対応 6 エンジニアが自ら育てる自動化へ 詳細 https://www.ap-com.co.jp/network-automation/

Slide 7

Slide 7 text

実装までの大まかな流れ 7 洗い出し 特定 最適化 実装

Slide 8

Slide 8 text

洗い出し 8 洗い出し 特定 最適化 実装

Slide 9

Slide 9 text

候補の洗い出し  自動化対象の候補業務を洗い出す  業務をパターン化する  似た手順は、可変部分を見極めてパターン化する  パターン化しないと、似て非なる自動化が乱立してしまう 9

Slide 10

Slide 10 text

特定 10 洗い出し 特定 最適化 実装

Slide 11

Slide 11 text

検討と特定  基準にもとづいて検討し、自動化対象業務を特定する 11  工数、期間がかかっている  大きいコスト削減効果が見込める  Ansible で自動化できる

Slide 12

Slide 12 text

Ansible で自動化できるか確認する方法  モジュールを探す  公式ドキュメントの「Module Index」で確認  https://docs.ansible.com/ansible/latest/modules/modules_by_category.html  特に「Network modules」  https://docs.ansible.com/ansible/latest/modules/list_of_network_modules.html  ネットワーク機器ベンダーが独自にモジュール提供している場合もあり 12

Slide 13

Slide 13 text

ネットワーク機器側での準備  SSH、NETCONF、HTTP API を有効化する  ネットワークモジュールはこれらの通信方式が前提 13 TELNET NETCONF HTTP API SSH

Slide 14

Slide 14 text

さぁ Playbook 作成! 14

Slide 15

Slide 15 text

その前に 15

Slide 16

Slide 16 text

最適化 16 洗い出し 特定 最適化 実装

Slide 17

Slide 17 text

不要な手順を削除する  追加された経緯を追い、不要だと判断できれば削除  監視システムなどでカバーできていれば削除 17 形骸化した手順 重複した手順

Slide 18

Slide 18 text

隠れ手順をあぶりだす  手順書にない手順をあぶりだし、定型化  例: 手順書上は1回の show コマンド実行だが、 実際はOSPFネイバーが確立されるまで繰り返し実行して確認 18 実は・・・ あぶりだし 定型化

Slide 19

Slide 19 text

判断基準を明確にする  確認の判断基準をロジック化、数値化  新人教育するイメージ  作業者によって基準が異なる場合は統一 19 要注意ワード 書き換え例 異常がないこと show log の結果に「ERROR」が含まれないこと 同程度であること 差分が5以内であること 増加していないこと 作業前と比較し、差分が0であること ● ▲ ▲

Slide 20

Slide 20 text

機械と人の役目を整理する  自動化する/しないだけでなく半自動という選択もある  例: 判断の自動化が難しければ、判断に必要な情報収集までを自動化  人の判断や保留が必要な箇所を特定する  Ansible Tower の Approval 機能を利用(後述) 20 低 自動 半自動 手動 高 自動化レベル

Slide 21

Slide 21 text

実装 21 洗い出し 特定 最適化 実装

Slide 22

Slide 22 text

Playbook / Ansible Tower 実装のポイント 22

Slide 23

Slide 23 text

確認手順の自動化方法  assert モジュールを利用できる  show コマンド結果は構造化データのほうが扱いやすい  ネットワーク機器本体の機能として対応している場合も  他、TextFSM や Genie Parser などのパーサーを利用 23 - name: show ospf neighbor assert: that: - state == "Full" 期待する値 show コマンドで 取得した値(の変数) 【例】OSPF ネイバーの状態がFullであることを確認

Slide 24

Slide 24 text

【Tower】承認機能(Approval)  ワークフローの進行を一時停止し、人による承認行為を待つ機能  例: 事前確認まで進め、設定変更の直前で止める  Ansible Tower 3.6 からの機能 24 1 一時停止 3 承認 2 通知

Slide 25

Slide 25 text

管理 実行 Ansible Tower 画面 【Tower】柔軟な権限設定  「管理者は管理、作業者は実行のみ」といった権限を設定できる  意図しない作業を未然に防げる  他チームに引き渡して「サービス化」しやすい 25 【例】 作業者 管理者

Slide 26

Slide 26 text

【Tower】スケジュール設定  ジョブ実行の日時や繰り返し方法を指定できる  例: 夜間向けのジョブを日中に仕込む 26

Slide 27

Slide 27 text

導入事例 株式会社JALインフォテック様 27

Slide 28

Slide 28 text

まとめ 28

Slide 29

Slide 29 text

まとめ  ネットワーク運用自動化の進め方  対象業務の洗い出し、特定、最適化したうえでPlaybookを実装  Ansible Tower には承認や権限管理など運用に役立つ機能がある  弊社サービスのご利用もご検討ください  自動化は様々なケースがあるため、ふりかえり等を通じて改善して参ります  JALインフォテック様の自動化ジャーニー  NW自動化推進Teamを設立、段階的な目標を設定  設計はもちろん、教育も工夫し、Ansible開発者が増加  技術面、組織面とも積極的な取り組み 29 ご清聴ありがとうございました

Slide 30

Slide 30 text

本資料に関するお問い合わせ 30 株式会社エーピーコミュニケーションズ 自動化グループ E-mail automation@ap-com.co.jp Web https://www.ap-com.co.jp/network-automation/

Slide 31

Slide 31 text

参考  人の機械の役目整理の考え方  人と機械の共生のデザイン「人間中心の自動化」を探る  https://www.morikita.co.jp/books/book/2510  Ansible  ネットワークモジュール一覧  https://docs.ansible.com/ansible/latest/modules/list_of_network_modules.html  Ansible Tower ワークフロー機能  https://docs.ansible.com/ansible-tower/latest/html/userguide/workflow_templates.html#approval-nodes  https://www.ansible.com/blog/how-to-add-approval-steps-to-ansible-tower-workflows 31