SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
株式会社 エーピーコミュニケーションズ
技術開発部 自動化グループ
横地 晃
2019/10/16
AP TECH FEST
NW自動化的に
2
はじめに
 ネットワーク機器の操作手段は CLI が主流
 RESTCONF は全く別のアプローチ
 自動化的に、何が嬉しくなるのか考えてみた
※ The CLI is dead とは思っていません
※ Cisco IOS XE 16.11.1 での検証です
※ 私自身はこの分野は調査中の段階です
自動化?
プログラマビリティ? 操作性?
自己紹介
3
名前 横地 晃
所属 株式会社エーピーコミュニケーションズ 自動化グループ
業務 ネットワーク自動化サービス関連
@akira6592
執筆など
 Ansible実践ガイド 第3版
 Software Design 2018年12月号 Ansible 特集
 技術ブログ(てくなべ)
2019年10月18日
第3版発売
ネットワーク対応も追加
4
RESTCONF とは
RESTCONF とは(概要)
5
 REST ベースでネットワーク機器を操作する
規格(RFC8040、2017年)
 データモデリング言語として YANG を利用
ネットワーク機器
HTTP(S)
REST
(GET/POST/PUT/PATCH/DELETE)
ライブラリ・ツールなど
{ }YANG YANG
他の規格との比較
6
規格 トランスポート データモデル
データ
フォーマット
CLI SSH/TELNET 独自 独自*1
NETCONF SSH YANG/独自 XML
RESTCONF HTTP(S) YANG JSON/XML
(*1) CLI で JSON や XML 出力できる機器もある
実行例:RESTCONF による情報取得
7
$ curl -k -X GET https://rt01/restconf/data/ietf-interfaces:interfaces-state/interface ¥
-H 'Content-Type: application/yang-data+json' ¥
-H 'Accept: application/yang-data+json' ¥
-u 'testuser:testpassword'
curl で、インターフェース状態を取得する例
GET したい情報のパスなどを指定
実行例:RESTCONF による情報取得
8
$ curl -k -X GET https://rt01/restconf/data/ietf-interfaces:interfaces-state/interface ¥
-H 'Content-Type: application/yang-data+json' ¥
-H 'Accept: application/yang-data+json' ¥
-u 'testuser:testpassword'
curl で、インターフェース状態を取得する例
{
"ietf-interfaces:interface": [
{
"name": "GigabitEthernet1",
"type": "iana-if-type:ethernetCsmacd",
"admin-status": "up",
"oper-status": "up",
"last-change": "2019-10-09T17:47:36.000747+00:00",
"if-index": 1,
"phys-address": "00:50:56:xx:xx:xx",
"speed": "1024000000",
"statistics": {
"discontinuity-time": "2019-10-09T17:46:12.000538+00:00",
"in-octets": "75804004962",
"in-unicast-pkts": "101030500",
"in-broadcast-pkts": "0",
"in-multicast-pkts": "0",
…(略)…
GET したい情報のパスなどを指定
JSON で返ってくる
9
RESTCONF は何が嬉しいのか
1. 対応ツールが多い
2. 構造化データでやりとりできる
3. モデル駆動で操作できる
以降、一つずつ説明します
{ }
10
対応ツールが多い
嬉しいことその 1
対応ツールが多い
11
 HTTP を扱う汎用的なものでOK
◦ 各プログラミング言語の HTTP クライアントライブラリ
(Python の requests など)
◦ curl コマンド
◦ Ansible の uri、restconf_* モジュール
◦ など
 CLI でつらいのは・・
◦ 専用ツールやライブラリのみで、やや限定的(Ansible、netmiko、NAPALM など)
HTTP を
しゃべれれば基本OK
etc.
12
構造化データ
{ }
嬉しいことその 2
構造化データでやりとりできる
13
 JSON、XML を利用する
◦ プログラマビリティが高く、自動化しやすい
 CLI でつらいのは・・
◦ 正規表現やテンプレートを駆使、またはパーサー(TextFSM、Genie Parser など)が必要
{
"Cisco-IOS-XE-ntp:server-list": [
{
"ip-address": "10.0.0.1"
},
{
"ip-address": "10.0.0.2"
}
]
}
参照 NTP サーバーの設定をJSONで取得した例
14
モデル駆動
嬉しいことその 3
モデル駆動
15
 YANG で定義されたモデルに基づいて操作
◦ CLI でやりずらかった操作ができる
z z
16
「モデル駆動」は色々な側面がありますが、一例をご紹介
どゆこと?
CLI の場合(参照 NTP サーバー変更の例)
17
ntp server 10.0.0.1
ntp server 10.0.0.8
ntp server 10.0.0.9
ntp server 10.0.0.1
ntp server 10.0.0.2
ntp server 10.0.0.3
Before After
CLI の場合
何をすればよい?
CLI の場合(参照 NTP サーバー変更の例)
18
ntp server 10.0.0.1
ntp server 10.0.0.8
ntp server 10.0.0.9
ntp server 10.0.0.1
ntp server 10.0.0.2
ntp server 10.0.0.3
Before After
sw1(config)# no ntp server 10.0.0.2
sw1(config)# no ntp server 10.0.0.3
sw1(config)# ntp server 10.0.0.8
sw1(config)# ntp server 10.0.0.9
操作する側が
追加、削除を
意識する必要がある
・操作とデータが混在
・自動化しにくい
・どうせなら他のことに頭を使いたい
コマンド実行内容
RESTCONF の場合(参照 NTP サーバー変更の例)
19
ntp server 10.0.0.1
ntp server 10.0.0.8
ntp server 10.0.0.9
ntp server 10.0.0.1
ntp server 10.0.0.2
ntp server 10.0.0.3
Before After
RESTCONF の場合
何をすればよい?
RESTCONF の場合(参照 NTP サーバー変更の例)
20
ntp server 10.0.0.1
ntp server 10.0.0.8
ntp server 10.0.0.9
ntp server 10.0.0.1
ntp server 10.0.0.2
ntp server 10.0.0.3
Before After
{
"Cisco-IOS-XE-ntp:server": {
"server-list": [
{"ip-address": "10.0.0.1"},
{"ip-address": "10.0.0.8"},
{"ip-address": "10.0.0.9"}
]
}
}
操作する側が
追加、削除を
意識する必要がない
・操作とデータが分離!
・あるべき状態を PUT するだけ!
・自動化しやすい!
※ あくまで一例。すべての設定がこのようにできるとは限らない
PUT する body
21
まとめ
まとめ
22
 RESTCONF は REST でネットワーク機器
を操作する規格、データモデリングはYANG
 対応ツールが多い (HTTPをしゃべれれば基本OK)
 構造化データでやりとりできる (JSON/XML)
 モデル駆動で操作できる
お使いの機器が RESTCONF に対応しているか確認してみてください。
そして、CLI がつらくなったら RESTCONF のことを思い出してください。
(まだ YANG ファイルの見方に慣れずに使いこなせません・・)
参考
23
 サイト
◦ Cisco IOS XE Everest 16.6.x プログラマビリティ コンフィギュレーション ガイド
◦ https://www.cisco.com/c/ja_jp/td/docs/ios-
xml/ios/prog/configuration/166/b_166_programmability_cg/b_166_programmability_cg_chapter_01011.html
◦ Cisco DevNet Learning Labs - Exploring IOS XE YANG Data Models with RESTCONF
◦ https://developer.cisco.com/learning/lab/intro-restconf/step/1
◦ Automating Your Network Operations, Part 3 – Data-Driven Ansible
◦ https://blogs.cisco.com/developer/automating-network-operations-3
◦ JANOG36 NETCONF/YANG
◦ https://www.janog.gr.jp/meeting/janog36/program/netconf
◦ データモデリング言語 YANG を活用した マルチベンダネットワーク制御
◦ http://onic.jp/archive/2017/_cms/wp-content/uploads/2017/11/cisco.pdf
◦ restconf_config モジュールで Cisco IOS XE のSyslogサーバー設定追加・削除してみる
◦ https://tekunabe.hatenablog.jp/entry/2019/09/09/ansible_restconf_config_ios
 書籍
◦ Network Programmability with YANG
◦ https://www.amazon.co.jp/dp/0135180392
 試してみたい方へ
◦ Cisco DevNet SandBox (オンラインのラボ環境)
◦ https://devnetsandbox.cisco.com/RM/Topology
◦ ちょっとした情報取得なら予約なしの「IOS XE on CSR Latest Code Always On」がおすすめ

Contenu connexe

Tendances

本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネットYuya Rin
 
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyakira6592
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造Taiji Tsuchiya
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
CXL_説明_公開用.pdf
CXL_説明_公開用.pdfCXL_説明_公開用.pdf
CXL_説明_公開用.pdfYasunori Goto
 
DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談oheso tori
 
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudyネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudyYahoo!デベロッパーネットワーク
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)シスコシステムズ合同会社
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向Yuya Rin
 
Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-
Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-
Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-HidekiNishizawa
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理Motonori Shindo
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作irix_jp
 
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpAnsible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpakira6592
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方akira6592
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケットTakaaki Hoyo
 
IX事業者とインターネットの未来
IX事業者とインターネットの未来IX事業者とインターネットの未来
IX事業者とインターネットの未来Yoshiki Ishida
 
ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実IIJ
 

Tendances (20)

本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネット
 
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
CXL_説明_公開用.pdf
CXL_説明_公開用.pdfCXL_説明_公開用.pdf
CXL_説明_公開用.pdf
 
DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談
 
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudyネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向
 
Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-
Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-
Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-
 
FlexEのご紹介 - JANOG 39.5 発表資料
FlexEのご紹介 - JANOG 39.5 発表資料FlexEのご紹介 - JANOG 39.5 発表資料
FlexEのご紹介 - JANOG 39.5 発表資料
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
 
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpAnsible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
自宅k8s/vSphere入門
自宅k8s/vSphere入門自宅k8s/vSphere入門
自宅k8s/vSphere入門
 
IX事業者とインターネットの未来
IX事業者とインターネットの未来IX事業者とインターネットの未来
IX事業者とインターネットの未来
 
ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実
 

Similaire à 私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた

シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコシステムズ合同会社
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話Wooram Yang
 
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践 仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践 bitbank, Inc. Tokyo, Japan
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorockyuzorock
 
Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話 Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話 Toshihiro Araki
 
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...Hinemos
 
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
スマホのセンサーでネットワークを操る  ~Ansible TowerによるレガシーNW機器のAPI化~スマホのセンサーでネットワークを操る  ~Ansible TowerによるレガシーNW機器のAPI化~
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~akira6592
 
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Hideki Saito
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますinfinite_loop
 
AWS IoTを使った双方向通信システムの実装と注意点
AWS IoTを使った双方向通信システムの実装と注意点AWS IoTを使った双方向通信システムの実装と注意点
AWS IoTを使った双方向通信システムの実装と注意点Kohei MATSUSHITA
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ UndertowについてYoshimasa Tanabe
 
ロードバランサのリソース問題を解決する ~NetScaler Clustering~
ロードバランサのリソース問題を解決する ~NetScaler Clustering~ ロードバランサのリソース問題を解決する ~NetScaler Clustering~
ロードバランサのリソース問題を解決する ~NetScaler Clustering~ Citrix Systems Japan
 
Nifty cloud automationでクラウド構築・運用の自動化
Nifty cloud automationでクラウド構築・運用の自動化Nifty cloud automationでクラウド構築・運用の自動化
Nifty cloud automationでクラウド構築・運用の自動化NIFTY Cloud
 
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)Daisuke Ikeda
 
20210515 cae linux_install_vb
20210515 cae linux_install_vb20210515 cae linux_install_vb
20210515 cae linux_install_vbYohichiShiina
 
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in JapaneseOpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in JapaneseToshikazu Ichikawa
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月VirtualTech Japan Inc.
 
Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?Kei Mikage
 

Similaire à 私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた (20)

シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話
 
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践 仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorock
 
Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話 Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話
 
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...
【HinemosWorld2014】B2-2_ビジネス競争力に勝てるネットワーク基盤構築~Hinemos仮想ネットワーク管理オプション~ONIE・ZTP・...
 
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
スマホのセンサーでネットワークを操る  ~Ansible TowerによるレガシーNW機器のAPI化~スマホのセンサーでネットワークを操る  ~Ansible TowerによるレガシーNW機器のAPI化~
スマホのセンサーでネットワークを操る ~Ansible TowerによるレガシーNW機器のAPI化~
 
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Ansible2とOpenStackの関係
Ansible2とOpenStackの関係
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
AWS IoTを使った双方向通信システムの実装と注意点
AWS IoTを使った双方向通信システムの実装と注意点AWS IoTを使った双方向通信システムの実装と注意点
AWS IoTを使った双方向通信システムの実装と注意点
 
20201127 .NET 5
20201127 .NET 520201127 .NET 5
20201127 .NET 5
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
 
ロードバランサのリソース問題を解決する ~NetScaler Clustering~
ロードバランサのリソース問題を解決する ~NetScaler Clustering~ ロードバランサのリソース問題を解決する ~NetScaler Clustering~
ロードバランサのリソース問題を解決する ~NetScaler Clustering~
 
Nifty cloud automationでクラウド構築・運用の自動化
Nifty cloud automationでクラウド構築・運用の自動化Nifty cloud automationでクラウド構築・運用の自動化
Nifty cloud automationでクラウド構築・運用の自動化
 
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
 
20210515 cae linux_install_vb
20210515 cae linux_install_vb20210515 cae linux_install_vb
20210515 cae linux_install_vb
 
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in JapaneseOpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
 
Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?
 

Plus de akira6592

新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニアakira6592
 
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)akira6592
 
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooksAnsible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooksakira6592
 
Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張akira6592
 
Ansible 2.10 と Collection
Ansible 2.10 と CollectionAnsible 2.10 と Collection
Ansible 2.10 と Collectionakira6592
 
自動化の下ごしらえ
自動化の下ごしらえ自動化の下ごしらえ
自動化の下ごしらえakira6592
 
向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版akira6592
 
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)akira6592
 
はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみたはじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみたakira6592
 
CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能akira6592
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたakira6592
 
自動化ツール Ansible に触れてみよう(技術インターン)
 自動化ツール Ansible に触れてみよう(技術インターン) 自動化ツール Ansible に触れてみよう(技術インターン)
自動化ツール Ansible に触れてみよう(技術インターン)akira6592
 
技術ブログを書こう
技術ブログを書こう技術ブログを書こう
技術ブログを書こうakira6592
 
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒントはじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒントakira6592
 
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)akira6592
 
向き合うエンジニア
向き合うエンジニア向き合うエンジニア
向き合うエンジニアakira6592
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-akira6592
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)akira6592
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)akira6592
 
「自動化の行き着く先は?」をうけて
「自動化の行き着く先は?」をうけて「自動化の行き着く先は?」をうけて
「自動化の行き着く先は?」をうけてakira6592
 

Plus de akira6592 (20)

新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア
 
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
 
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooksAnsible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
 
Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張
 
Ansible 2.10 と Collection
Ansible 2.10 と CollectionAnsible 2.10 と Collection
Ansible 2.10 と Collection
 
自動化の下ごしらえ
自動化の下ごしらえ自動化の下ごしらえ
自動化の下ごしらえ
 
向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版
 
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
 
はじめて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 に触れてみよう(技術インターン)
 
技術ブログを書こう
技術ブログを書こう技術ブログを書こう
技術ブログを書こう
 
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒントはじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
 
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
 
向き合うエンジニア
向き合うエンジニア向き合うエンジニア
向き合うエンジニア
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
 
「自動化の行き着く先は?」をうけて
「自動化の行き着く先は?」をうけて「自動化の行き着く先は?」をうけて
「自動化の行き着く先は?」をうけて
 

Dernier

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 

Dernier (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 

私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた

  • 2. 2 はじめに  ネットワーク機器の操作手段は CLI が主流  RESTCONF は全く別のアプローチ  自動化的に、何が嬉しくなるのか考えてみた ※ The CLI is dead とは思っていません ※ Cisco IOS XE 16.11.1 での検証です ※ 私自身はこの分野は調査中の段階です 自動化? プログラマビリティ? 操作性?
  • 3. 自己紹介 3 名前 横地 晃 所属 株式会社エーピーコミュニケーションズ 自動化グループ 業務 ネットワーク自動化サービス関連 @akira6592 執筆など  Ansible実践ガイド 第3版  Software Design 2018年12月号 Ansible 特集  技術ブログ(てくなべ) 2019年10月18日 第3版発売 ネットワーク対応も追加
  • 5. RESTCONF とは(概要) 5  REST ベースでネットワーク機器を操作する 規格(RFC8040、2017年)  データモデリング言語として YANG を利用 ネットワーク機器 HTTP(S) REST (GET/POST/PUT/PATCH/DELETE) ライブラリ・ツールなど { }YANG YANG
  • 6. 他の規格との比較 6 規格 トランスポート データモデル データ フォーマット CLI SSH/TELNET 独自 独自*1 NETCONF SSH YANG/独自 XML RESTCONF HTTP(S) YANG JSON/XML (*1) CLI で JSON や XML 出力できる機器もある
  • 7. 実行例:RESTCONF による情報取得 7 $ curl -k -X GET https://rt01/restconf/data/ietf-interfaces:interfaces-state/interface ¥ -H 'Content-Type: application/yang-data+json' ¥ -H 'Accept: application/yang-data+json' ¥ -u 'testuser:testpassword' curl で、インターフェース状態を取得する例 GET したい情報のパスなどを指定
  • 8. 実行例:RESTCONF による情報取得 8 $ curl -k -X GET https://rt01/restconf/data/ietf-interfaces:interfaces-state/interface ¥ -H 'Content-Type: application/yang-data+json' ¥ -H 'Accept: application/yang-data+json' ¥ -u 'testuser:testpassword' curl で、インターフェース状態を取得する例 { "ietf-interfaces:interface": [ { "name": "GigabitEthernet1", "type": "iana-if-type:ethernetCsmacd", "admin-status": "up", "oper-status": "up", "last-change": "2019-10-09T17:47:36.000747+00:00", "if-index": 1, "phys-address": "00:50:56:xx:xx:xx", "speed": "1024000000", "statistics": { "discontinuity-time": "2019-10-09T17:46:12.000538+00:00", "in-octets": "75804004962", "in-unicast-pkts": "101030500", "in-broadcast-pkts": "0", "in-multicast-pkts": "0", …(略)… GET したい情報のパスなどを指定 JSON で返ってくる
  • 9. 9 RESTCONF は何が嬉しいのか 1. 対応ツールが多い 2. 構造化データでやりとりできる 3. モデル駆動で操作できる 以降、一つずつ説明します { }
  • 11. 対応ツールが多い 11  HTTP を扱う汎用的なものでOK ◦ 各プログラミング言語の HTTP クライアントライブラリ (Python の requests など) ◦ curl コマンド ◦ Ansible の uri、restconf_* モジュール ◦ など  CLI でつらいのは・・ ◦ 専用ツールやライブラリのみで、やや限定的(Ansible、netmiko、NAPALM など) HTTP を しゃべれれば基本OK etc.
  • 13. 構造化データでやりとりできる 13  JSON、XML を利用する ◦ プログラマビリティが高く、自動化しやすい  CLI でつらいのは・・ ◦ 正規表現やテンプレートを駆使、またはパーサー(TextFSM、Genie Parser など)が必要 { "Cisco-IOS-XE-ntp:server-list": [ { "ip-address": "10.0.0.1" }, { "ip-address": "10.0.0.2" } ] } 参照 NTP サーバーの設定をJSONで取得した例
  • 15. モデル駆動 15  YANG で定義されたモデルに基づいて操作 ◦ CLI でやりずらかった操作ができる z z
  • 17. CLI の場合(参照 NTP サーバー変更の例) 17 ntp server 10.0.0.1 ntp server 10.0.0.8 ntp server 10.0.0.9 ntp server 10.0.0.1 ntp server 10.0.0.2 ntp server 10.0.0.3 Before After CLI の場合 何をすればよい?
  • 18. CLI の場合(参照 NTP サーバー変更の例) 18 ntp server 10.0.0.1 ntp server 10.0.0.8 ntp server 10.0.0.9 ntp server 10.0.0.1 ntp server 10.0.0.2 ntp server 10.0.0.3 Before After sw1(config)# no ntp server 10.0.0.2 sw1(config)# no ntp server 10.0.0.3 sw1(config)# ntp server 10.0.0.8 sw1(config)# ntp server 10.0.0.9 操作する側が 追加、削除を 意識する必要がある ・操作とデータが混在 ・自動化しにくい ・どうせなら他のことに頭を使いたい コマンド実行内容
  • 19. RESTCONF の場合(参照 NTP サーバー変更の例) 19 ntp server 10.0.0.1 ntp server 10.0.0.8 ntp server 10.0.0.9 ntp server 10.0.0.1 ntp server 10.0.0.2 ntp server 10.0.0.3 Before After RESTCONF の場合 何をすればよい?
  • 20. RESTCONF の場合(参照 NTP サーバー変更の例) 20 ntp server 10.0.0.1 ntp server 10.0.0.8 ntp server 10.0.0.9 ntp server 10.0.0.1 ntp server 10.0.0.2 ntp server 10.0.0.3 Before After { "Cisco-IOS-XE-ntp:server": { "server-list": [ {"ip-address": "10.0.0.1"}, {"ip-address": "10.0.0.8"}, {"ip-address": "10.0.0.9"} ] } } 操作する側が 追加、削除を 意識する必要がない ・操作とデータが分離! ・あるべき状態を PUT するだけ! ・自動化しやすい! ※ あくまで一例。すべての設定がこのようにできるとは限らない PUT する body
  • 22. まとめ 22  RESTCONF は REST でネットワーク機器 を操作する規格、データモデリングはYANG  対応ツールが多い (HTTPをしゃべれれば基本OK)  構造化データでやりとりできる (JSON/XML)  モデル駆動で操作できる お使いの機器が RESTCONF に対応しているか確認してみてください。 そして、CLI がつらくなったら RESTCONF のことを思い出してください。 (まだ YANG ファイルの見方に慣れずに使いこなせません・・)
  • 23. 参考 23  サイト ◦ Cisco IOS XE Everest 16.6.x プログラマビリティ コンフィギュレーション ガイド ◦ https://www.cisco.com/c/ja_jp/td/docs/ios- xml/ios/prog/configuration/166/b_166_programmability_cg/b_166_programmability_cg_chapter_01011.html ◦ Cisco DevNet Learning Labs - Exploring IOS XE YANG Data Models with RESTCONF ◦ https://developer.cisco.com/learning/lab/intro-restconf/step/1 ◦ Automating Your Network Operations, Part 3 – Data-Driven Ansible ◦ https://blogs.cisco.com/developer/automating-network-operations-3 ◦ JANOG36 NETCONF/YANG ◦ https://www.janog.gr.jp/meeting/janog36/program/netconf ◦ データモデリング言語 YANG を活用した マルチベンダネットワーク制御 ◦ http://onic.jp/archive/2017/_cms/wp-content/uploads/2017/11/cisco.pdf ◦ restconf_config モジュールで Cisco IOS XE のSyslogサーバー設定追加・削除してみる ◦ https://tekunabe.hatenablog.jp/entry/2019/09/09/ansible_restconf_config_ios  書籍 ◦ Network Programmability with YANG ◦ https://www.amazon.co.jp/dp/0135180392  試してみたい方へ ◦ Cisco DevNet SandBox (オンラインのラボ環境) ◦ https://devnetsandbox.cisco.com/RM/Topology ◦ ちょっとした情報取得なら予約なしの「IOS XE on CSR Latest Code Always On」がおすすめ