network
はじめに 「業務の整理、手順書整備、体制作り・・」など、自動化の以前にすることとしてよく聞きます。 今年は「技術面で自動化以前にできること」に気付かされた年でした。それは、自動化よりも設計・管理対象を減らすということです。 ピンときた2つの資…
はじめに Cisco Certified DevNet Associateの勉強の一環で以下の書籍を読みました。 Understanding and Using Application Programming Interfaces (APIs): Cisco DevNet Associate (DEVASC) 200-901 V1.0 Exam Guide Series (English Edition)作者:Muhamma…
はじめに 2020/02/24 に始まる、Cisco DevNet Associate (DEVASC 200-901) の勉強をはじめした 試験情報リンクまとめ tekunabe.hatenablog.jp 今後のブログでも、勉強途中のトピックを書いていきたいと思います。 当面の学習コンテンツ 公式のガイドは、2020…
■ はじめに 2019/12/10-11 に開催された、DevNet Express for DNA [Tokyo] に参加してきました。 ネットワークプログラマビリティをテーマにした、ハンズオンを含むインベントです。 「for DNA」とついているのは、Cisco DNA Center という製品を中心とした…
これは Ansible 3 Advent Calendar 2019 の9日目の記事です。 ■ はじめに Ansible 2.9 から Network Resource Module という新しいタイプのモジュールが続々と追加されています。 config オプションで設定内容を指定し、state というオプションで4種類の操…
これは Ansible 3 Advent Calendar 2019 の8日目の記事です。 ■ はじめに 開発中の Ansible 2.10 では、Juniper Junos 向けのスタティックルート設定モジュール junos_static_routes モジュール (末尾 s あり)が追加されます。 Ansible 2.9 から続々と追加…
これは ネットワーク自動化 Advent Calendar 2019 の4日目の記事です。 ■ はじめに ネットワーク自動化 Python ライブラリ netmiko は、Cisco、Juniper、Arista など様々なネットワークOSに対応しています。 開発状況を眺めていると、Juniper ScreenOS (SSG)…
■ はじめに fact といえば、サーバー系モジュールの場合は、gather_facts: yes(デフォルト)で収集されましたが、ネットワークモジュールの場合は事情が異なりました。 具体的には、gather_facts: yes では、Ansible コントロールノード自身の fact が収集…
はじめに Ansible では、ネットワークモジュール向けに主に以下の専用コネクションプラグインが用意されています(組み合わせはこちら)。 network_cli netconf httpapi Ansible のバージョンや、利用するコネクションプラグインによって、ネットワーク機器…
はじめに 先日開催された Ansibleもくもく会 (サーバ編 & NW編)2019.11では、ネットワーク編の環境として F5 BIG-IP の環境を割り当ていただきました。 書いていく Playbook は、こんな感じものでした(引用元)。 --- - name: GRAB F5 FACTS hosts: f5 co…
はじめに Ansible 2.8 以降、400以上大量に増えている fortios モジュール。Ansible 2.9 では httpapi コネクションプラグインにも対応しました。 httpapi コネクションプラグインに対応することにより、以下のようなメリットがあります。 Playbook がスッキ…
はじめに ネットワーク自動化Pythonライブラリである、netmiko、NAPALMが、Python 2系 サポートの最終バージョンをリリースしました。それぞれ、netmiko 2.4.2、NAPALM 2.5.0 です。 次回のリリースからは Python 3.6 以降のみのサポートととしています。 バ…
はじめに Ansible には Cisco ACI 対応のモジュールが多数用意されています。 ACI の REST API を利用しているのだろうな、という予想はすぐついたのですが、実際のログインの処理を覗いてみたくなりました。 ACI モジュール共通だと思いますが、ここでは代…
変数 ansible_network_os とは Ansible のネットワークモジュールでは、多くの場合ansible_network_os という変数に、どのプラットフォーム(Cisco IOS、Arista EOS など)を対象とするか指定する必要あります。 サンプルの Playbook でも見かけることは多い…
■ はじめに Ansible 2.8 では、RESTCONF でネットワーク機器の情報を取得したり、設定を変更したりできる RESTCONF モジュールが導入されました。 以前、本ブログでは、モジュールを利用してIOS-XE へ RESTCONF でアクセスしてインターフェース情報の取得を…
2019/09/05 に、ネットワークプログラマビリティ勉強会 #18で、「show コマンド結果をパースする方法あれこれ」という発表をさせていだきました。サンプルコードが中心だったため、コピペしやすいように、ブログ記事として書きおこします。 ■ 1. はじめに ■ …
はじめに 2019/07/24-26 に兵庫県神戸市の神戸国際展示場で開催された JANOG44 Meeting in Kobe に参加、登壇してきました。 本ブログでは、2回に分けてレポートします。 その1 参加編 その2 登壇編 ここからはじめよう、運用自動化 (本記事) その2である本…
はじめに ネットワーク機器のコンフィグファイルをどこかに提示する際、パスワードや IP アドレス、SNMP コミュニティ名などの固有情報をマスクしたり、変更したりする機会はないでしょうか。 netconan はそれを自動で変換してくれるツールです。 github.com…
はじめに Ansible は、Ansible 2.8 現在 50以上のネットワークプラットフォームに対応しています。 プラットフォームごとに、どのバージョンでテスト、サポートされているかの情報が、探すのにやや手間取ってしまうので、こちらにリンクまとめておきます。 A…
■ はじめに Ansible 2.8 では、RESTCONF でネットワーク機器の情報を取得したり、設定を変更したりできる RESTCONF モジュールが導入されます。(本記事執筆時現在 RC段階) この記事では restconf_get モジュールを利用して、IOS-XE へ RESTCONF でアクセスし…
■ はじめに 2019/04/26 に開催された JANOG43.5 Interim Meeting で「ネットワークコンフィグ分析ツール Batfish との付き合い方」という発表をさせていただきました。 janog.connpass.com togetter.com Batfish は、ネットワーク機器のコンフィグのさまざま…
はじめに ネットワーク機器の設定変更を自動化するあたって考慮するポイントの1つは、設定情報のインプットをどのような形式にするかです。 設定情報のインプット形式は? たとえば、機器が解釈できるコマンドを直接インプットする方法もあれば、パラメータ…
はじめに netmiko、NAPALM、Ansible のように、既存のネットワークを自動化できるOSSが増えてきました。 それでもやはり、自動化しやすい機器としにくい機器があるなと考えています。 この記事では機器使用面、環境面含めてそれぞれれまとめます。 (当たり…
はじめに 自動化の行き着く先は? 2019/01/23-25 に山梨県甲府市のコラニー文化ホール(山梨県立県民文化ホール)で開催された JANOG43 Meeting in Yamanashi に参加してきました。(ハッカソンは1/22) 本ブログでは、3回に分けてレポートします。 その1 参…
はじめに サーバーのテスト自動化といえば、 Serverspec や Testinfra 、infrataster などが有名ですが、ネットワークのテスト自動化については、みんなが口をそろえて名前を出すものがないような印象です。一方で、リスクの観点から設定変更の自動化より先…
■ はじめに Ansible は、Juniper Junos のネットワーク機器に対応していて、情報の取得や設定変更ができます。 Junos は設定投入後に commit することによって、実際の動作に反映されます。設定変更の流れの中で、commit 前の candidate config を確認したい…
はじめに 近年、ネットワーク機器への作業を自動化するOSS のツールやライブラリが増えてきています。この記事では、こんな観点でツールを検討するのが良いのでは、という自分の案をまとめてみます。 例示するツールとしては、Python で実装されている Ansib…
■ はじめに: Juniper vLabs とは Juniper vLabs とは、Juniper の仮想ネットワーク機器を検証用途でリモートから利用できる、無料のラボサービス(現在BETA版)です。非常にありがたいサービスです。 [2019/07/08 追記] Beta という表記がなくなったようです…
■ はじめに ネットワーク自動化 Python ライブラリ netmiko では、状態表示のための show コマンドや、設定変更のコマンドを実行できます。 TextFSM というパーサーと連携して、 show コマンド結果を パース して扱う事ができます。 パースされた Junos の s…
■ はじめに Ansible には Cisco IOS ネットワーク機器に設定変更コマンドを実行する ios_config モジュールがあります。 ios_config モジュールには、backup という、設定変更前のコンフィグを事前に Ansible 側に保存するオプションがあります。 デフォルト…