SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
株式会社 エーピーコミュニケーションズ
横地 晃
Ansible と NEEDLEWORK による
ネットワーク⾃動化
2019/06/14 Interop Tokyo 2019
セイコーソリューションズ(株)様ブース
[Ansible編]
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
⾃⼰紹介
名前 横地 晃
会社 株式会社エーピーコミュニケーションズ
(出展ブース 6T08 : Security World)
業務 ネットワーク⾃動化関連の技術開発
コミュニティ Ansible ユーザー会、JANOG
@akira6592 https://tekunabe.hatenablog.jp https://www.slideshare.net/akira6592/
ブログ(てくなべ) 過去発表資料
Ansible の概要
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
⾃動化ツール Ansible の特徴
シンプル
• プログラミング不要
• 構成定義ファイル(Playbook)を利⽤
パワフル
• 多数のサーバー、クラウド、ネットワーク向けの
モジュールを2800以上標準装備
• カスタムモジュールも⾃作可能
エージェントレス • 操作対象機器側に専⽤ソフトはインストール不要
• 構成管理ツールとも呼ばれ、Chef や puppet などと⽐較されることが多い
• 本資料は Ansible 2.8.0 を前提
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
Ansible でネットワーク機器にできること
l 接続⽅式
• SSH、NETCONF、HTTP/HTTPS(API)などで接続
l できることの例
• 参照(show)コマンド実⾏による情報取得
• 設定コマンド実⾏による設定追加・変更・削除
SSH、NETCONF、HTTP(S)
情報取得、設定など
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
Ansible を利⽤するメリット(ターミナルソフトのマクロとの⽐較)
1. Ansible の他の機能と連携しやすい
• コマンド出⼒結果を copy モジュールに渡して、ファイルに保存
• テンプレート機能を利⽤して、コンフィグを⽣成して投⼊
• 監視サーバーに登録されているホスト情報を接続に利⽤
2. ログインやモード変更の処理を簡略化できる
• 認証情報を定義しておくだけで⾃動でログイン、ログアウト
• 設定系モジュールは暗黙的にコンフィグレーションモードへ移⾏
3. コマンド投⼊エラーを標準で検出できる
• エラー検出処理はAnsible モジュール内に組み込み済み
• どのようなプロンプトが返ってきたら正常か、という指定が不要
例えば
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
50以上のネットワークプラットフォームに対応
• A10
• Aci
• Aireos
• Aos
• Aruba
• Asa
• Avi
• Bigswitch
• Checkpoint
• Cloudengine
• Cloudvision
• Cnos
• Cumulus
• Dellos10
• Dellos6
• Dellos9
• Edgeos
• Edgeswitch
• Enos
• Eos
• Exos
• F5
• Fortimanager
• Fortios
• Frr
• Ftd
• Illumos
• Ingate
• Ios
• Iosxr
• Ironware
• Itential
• Junos
• Meraki
• Netact
• Netconf
• Netscaler
• Netvisor
• Nos
• Nso
• Nuage
• Nxos
• Onyx
• Opx
• Ordnance
• Ovs
• Panos
• Radware
• Restconf
• Routeros
• Skydive
• Slxos
• Sros
• Voss
• Vyos
ネットワークモジュール⼀覧 https://docs.ansible.com/ansible/latest/modules/list_of_network_modules.html
サンプル1:
コンフィグバックアップ
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
サンプル1: コンフィグバックアップ(準備)
- hosts: fw
gather_facts: no
tasks:
- name: show command test
junos_command:
commands:
- show configuration
register: result
- name: save config to file
copy:
content: "{{ result.stdout[0] }}"
dest: "show_config_{{ inventory_hostname }}.txt"
実⾏したい show コマンド
(変更すれば他のshowコマンドでも対応可)
保存先ファイル名
※このほか、対象ホストの接続情報や、認証情報を定義するファイルを⽤意する
対象ホストグループ
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
$ ansible-playbook -i inventory show01.yml
PLAY [fw] ****************************************************************************************
TASK [show command test] *************************************************************************
ok: [172.16.0.1]
TASK [save config to file] ***********************************************************************
changed: [172.16.0.1]
PLAY RECAP ***************************************************************************************
172.16.0.1 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
サンプル1: コンフィグバックアップ(実⾏)
ansible-playbook コマンドを実⾏
コンフィグがファイルとして
新たに保存された旨のログ
l Ansible 側
サンプル2:
設定変更
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
サンプル2: 設定変更(準備)
- hosts: fw
gather_facts: no
tasks:
- name: config test
junos_config:
lines:
- set system ntp server 10.0.0.123
実⾏したい設定コマンド
(変更すれば他の設定コマンドでも対応可)
※このほか、対象ホストの接続情報や、認証情報を定義するファイルを⽤意する
対象ホストグループ
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
$ ansible-playbook -i inventory set01.yml
PLAY [fw] ***************************************************************************************
TASK [config test] ******************************************************************************
changed: [172.16.0.1]
PLAY RECAP **************************************************************************************
172.16.0.1 : ok=1 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
サンプル2: 設定変更(実⾏)
ansible-playbook コマンドを実⾏
設定変更された旨のログ
root@vsrx1> show configuration system ntp | display set
set system ntp server 10.0.0.123
設定変更された
l ネットワーク機器側
l Ansible 側
ところで、
こんな時はどうする︖
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
こんな時には
l IP到達性のない機器に Ansible を使うには︖
• Ansible にも対応したコンソールサーバー「SmartCS」で
• 詳細はセイコーソリューションズ様ブース(ココ)
l テストを⾃動化するには︖
• ネットワークテスト⾃動化にも対応した「NEEDLEWORK」
• 詳細はこのあとのセッション後半で
まとめ
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
まとめ
l はじめやすい⾃動化ツール
• シンプル、パワフル、エージェントレス
l 50以上のネットワークプラットフォームに対応
• 参照や設定などができる
l マクロにはないメリットも
• Ansible の他機能との連携
• ログイン/ログアウトの簡略化
• 組み込みのエラー検出、など
Ansible と NEEDLEWORK による
ネットワーク自動化
© AP Communications Co., Ltd.
参考情報
l 公式ドキュメント
• トップ https://docs.ansible.com/
• Getting Started https://docs.ansible.com/ansible/latest/user_guide/intro_getting_started.html
l ブラウザだけで独習できる⽇本語コース
• Ansible 101 by irixjp | Katacoda https://www.katacoda.com/irixjp/scenarios/ansible-101
l 書籍
• Ansible実践ガイド 第2版
• Ansible徹底⼊⾨

Weitere ähnliche Inhalte

Mehr von akira6592

Mehr von akira6592 (20)

はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみたはじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみた
 
CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
自動化ツール Ansible に触れてみよう(技術インターン)
 自動化ツール Ansible に触れてみよう(技術インターン) 自動化ツール Ansible に触れてみよう(技術インターン)
自動化ツール Ansible に触れてみよう(技術インターン)
 
技術ブログを書こう
技術ブログを書こう技術ブログを書こう
技術ブログを書こう
 
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpAnsible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
 
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
 
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
 
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒントはじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
 
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
 
向き合うエンジニア
向き合うエンジニア向き合うエンジニア
向き合うエンジニア
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
 
「自動化の行き着く先は?」をうけて
「自動化の行き着く先は?」をうけて「自動化の行き着く先は?」をうけて
「自動化の行き着く先は?」をうけて
 
Ansibleでネットワーク機器の状態確認を自動化してみよう
Ansibleでネットワーク機器の状態確認を自動化してみようAnsibleでネットワーク機器の状態確認を自動化してみよう
Ansibleでネットワーク機器の状態確認を自動化してみよう
 
Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)2018/10/12
Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)2018/10/12Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)2018/10/12
Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)2018/10/12
 
エンジニアが広報にしてもらってうれしかったこと #PRLT
エンジニアが広報にしてもらってうれしかったこと #PRLTエンジニアが広報にしてもらってうれしかったこと #PRLT
エンジニアが広報にしてもらってうれしかったこと #PRLT
 
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
 

Kürzlich hochgeladen

Kürzlich hochgeladen (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Ansible と NEEDLEWORK によるネットワーク自動化 [Ansible編]

  • 1. 株式会社 エーピーコミュニケーションズ 横地 晃 Ansible と NEEDLEWORK による ネットワーク⾃動化 2019/06/14 Interop Tokyo 2019 セイコーソリューションズ(株)様ブース [Ansible編]
  • 2. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. ⾃⼰紹介 名前 横地 晃 会社 株式会社エーピーコミュニケーションズ (出展ブース 6T08 : Security World) 業務 ネットワーク⾃動化関連の技術開発 コミュニティ Ansible ユーザー会、JANOG @akira6592 https://tekunabe.hatenablog.jp https://www.slideshare.net/akira6592/ ブログ(てくなべ) 過去発表資料
  • 4. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. ⾃動化ツール Ansible の特徴 シンプル • プログラミング不要 • 構成定義ファイル(Playbook)を利⽤ パワフル • 多数のサーバー、クラウド、ネットワーク向けの モジュールを2800以上標準装備 • カスタムモジュールも⾃作可能 エージェントレス • 操作対象機器側に専⽤ソフトはインストール不要 • 構成管理ツールとも呼ばれ、Chef や puppet などと⽐較されることが多い • 本資料は Ansible 2.8.0 を前提
  • 5. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. Ansible でネットワーク機器にできること l 接続⽅式 • SSH、NETCONF、HTTP/HTTPS(API)などで接続 l できることの例 • 参照(show)コマンド実⾏による情報取得 • 設定コマンド実⾏による設定追加・変更・削除 SSH、NETCONF、HTTP(S) 情報取得、設定など
  • 6. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. Ansible を利⽤するメリット(ターミナルソフトのマクロとの⽐較) 1. Ansible の他の機能と連携しやすい • コマンド出⼒結果を copy モジュールに渡して、ファイルに保存 • テンプレート機能を利⽤して、コンフィグを⽣成して投⼊ • 監視サーバーに登録されているホスト情報を接続に利⽤ 2. ログインやモード変更の処理を簡略化できる • 認証情報を定義しておくだけで⾃動でログイン、ログアウト • 設定系モジュールは暗黙的にコンフィグレーションモードへ移⾏ 3. コマンド投⼊エラーを標準で検出できる • エラー検出処理はAnsible モジュール内に組み込み済み • どのようなプロンプトが返ってきたら正常か、という指定が不要 例えば
  • 7. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. 50以上のネットワークプラットフォームに対応 • A10 • Aci • Aireos • Aos • Aruba • Asa • Avi • Bigswitch • Checkpoint • Cloudengine • Cloudvision • Cnos • Cumulus • Dellos10 • Dellos6 • Dellos9 • Edgeos • Edgeswitch • Enos • Eos • Exos • F5 • Fortimanager • Fortios • Frr • Ftd • Illumos • Ingate • Ios • Iosxr • Ironware • Itential • Junos • Meraki • Netact • Netconf • Netscaler • Netvisor • Nos • Nso • Nuage • Nxos • Onyx • Opx • Ordnance • Ovs • Panos • Radware • Restconf • Routeros • Skydive • Slxos • Sros • Voss • Vyos ネットワークモジュール⼀覧 https://docs.ansible.com/ansible/latest/modules/list_of_network_modules.html
  • 9. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. サンプル1: コンフィグバックアップ(準備) - hosts: fw gather_facts: no tasks: - name: show command test junos_command: commands: - show configuration register: result - name: save config to file copy: content: "{{ result.stdout[0] }}" dest: "show_config_{{ inventory_hostname }}.txt" 実⾏したい show コマンド (変更すれば他のshowコマンドでも対応可) 保存先ファイル名 ※このほか、対象ホストの接続情報や、認証情報を定義するファイルを⽤意する 対象ホストグループ
  • 10. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. $ ansible-playbook -i inventory show01.yml PLAY [fw] **************************************************************************************** TASK [show command test] ************************************************************************* ok: [172.16.0.1] TASK [save config to file] *********************************************************************** changed: [172.16.0.1] PLAY RECAP *************************************************************************************** 172.16.0.1 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 サンプル1: コンフィグバックアップ(実⾏) ansible-playbook コマンドを実⾏ コンフィグがファイルとして 新たに保存された旨のログ l Ansible 側
  • 12. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. サンプル2: 設定変更(準備) - hosts: fw gather_facts: no tasks: - name: config test junos_config: lines: - set system ntp server 10.0.0.123 実⾏したい設定コマンド (変更すれば他の設定コマンドでも対応可) ※このほか、対象ホストの接続情報や、認証情報を定義するファイルを⽤意する 対象ホストグループ
  • 13. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. $ ansible-playbook -i inventory set01.yml PLAY [fw] *************************************************************************************** TASK [config test] ****************************************************************************** changed: [172.16.0.1] PLAY RECAP ************************************************************************************** 172.16.0.1 : ok=1 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 サンプル2: 設定変更(実⾏) ansible-playbook コマンドを実⾏ 設定変更された旨のログ root@vsrx1> show configuration system ntp | display set set system ntp server 10.0.0.123 設定変更された l ネットワーク機器側 l Ansible 側
  • 15. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. こんな時には l IP到達性のない機器に Ansible を使うには︖ • Ansible にも対応したコンソールサーバー「SmartCS」で • 詳細はセイコーソリューションズ様ブース(ココ) l テストを⾃動化するには︖ • ネットワークテスト⾃動化にも対応した「NEEDLEWORK」 • 詳細はこのあとのセッション後半で
  • 17. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. まとめ l はじめやすい⾃動化ツール • シンプル、パワフル、エージェントレス l 50以上のネットワークプラットフォームに対応 • 参照や設定などができる l マクロにはないメリットも • Ansible の他機能との連携 • ログイン/ログアウトの簡略化 • 組み込みのエラー検出、など
  • 18. Ansible と NEEDLEWORK による ネットワーク自動化 © AP Communications Co., Ltd. 参考情報 l 公式ドキュメント • トップ https://docs.ansible.com/ • Getting Started https://docs.ansible.com/ansible/latest/user_guide/intro_getting_started.html l ブラウザだけで独習できる⽇本語コース • Ansible 101 by irixjp | Katacoda https://www.katacoda.com/irixjp/scenarios/ansible-101 l 書籍 • Ansible実践ガイド 第2版 • Ansible徹底⼊⾨