【interop tokyo 2016】 進化を続けるjunos automation

30
進化を続けるJUNOS Automation 〜運用コストを下げる自動化とは?〜 ジュニパーネットワークス株式会社 20166Interop Tokyo 2016

Upload: juniper-networks-

Post on 07-Jan-2017

554 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

進化を続けるJUNOS Automation〜運用コストを下げる自動化とは?〜

ジュニパーネットワークス株式会社

2016年6月

Interop Tokyo 2016

Page 2: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

Legal Disclaimer

本資料に記載されている機能や構成、ロードマップ情報などは、資料作成時点におけるジュニパーネットワークスの仕様や予定を示したものであり、事前の通告無しに内容が変更されることがあります。

本資料は技術情報の提供を目的としたものであり、機器、機器の機能、サービスなどに関して保証を行うものではありませんので、ご注意ください。

Page 3: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

ネットワートワークの自動化への期待は?(複数回答可)

• 設定変更時の運用負荷の軽減• 作業ミスの削減

Page 4: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

オペレーションで時間がかかる作業は?(複数回答可)

コンフィグのチェック、実機での検証の作業が多い

Page 5: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

作業ミスによるサービス影響の経験は?

作業ミスでシステムを停止させた経験のある方は全体の60%

Page 6: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

作業ミスを挽回するために、どこに労力をかけましたか?(複数回答可)

運用コストに影響

Page 7: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

ネットワーク自動化への期待

運用コストの低減

新しい事への

チャレンジ

運用負荷の低減

作業の質の向上

ミス撲滅

Page 8: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

JUNOS Automation

Page 9: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

Junos Automation ポートフォリオ

お客様のテクニカル面、ビジネス面での問題を全てのエリアで解決

PlatformPlatform Automationネットワーク機器に対し、作業を自動化するために、プログラム的なアクセスを提供する

<SLAX>

NetworkNetwork Automationプラットフォームの抽象化により、NaaSとして運用するモデル。ネットワークは1つのentityとして扱われます

DomainDomain AutomationNaaSコンセプトを採用し、compute, storageなどを含むドメイン全体へ拡張

Page 10: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

運用ワークフローと自動化

構築

設定運用

PlanDeploy

TroubleshootAudit

Configuration ChangesSoftware Management

PyEZ

Junos Script(Event option)

JSNAP

Netconf / DMI

Operate

Chef

Puppet

Ansible

PyEZ

Configure

ZTP

Ansible

OpenClos

Build

Page 11: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

ZTP(構築フェイズ)

Page 12: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

AutomationZTP(Zero-touch Provisioning)

Zero Touch Provisioningは、

自動的にコンフィグレーションを取得することで、

機器を箱からあけたら即ネットワークに繋ぐことができるしくみ。

構築

Page 13: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

ZTPと従来のオペレーションとの比較

Legacy Ops

ZTP

開梱

開梱ネットワークに接続して起動

ZTP サービスイン

起動してコンソールからセットアップ

ネットワークに接続

OSバージョンアップ・ダウン

初期設定 サービスイン

膨大な数のスイッチを設置しなくてはいけないデータセンターやキャンパス

大量の出荷検査やバージョンアップ作業等に効果的

構築

Page 14: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

ZTPのコンポーネント

DHCPサーバ

ファイルサーバ

EX/QFXスイッチ

スイッチ毎の設定MACアドレスかシリアルコンフィグファイル名OSファイル名

コンフィグファイルJUNOSイメージ

構築

Page 15: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

動作シーケンス

DHCPサーバ

EX/QFXスイッチ

2. DHCP Discover/Request

4. File Request(指定されたファイル名)

5. Download files

1. デフォルト設定で起動ZTPスタート!

3. DHCP Offer/ACK(ファイルサーバ+ファイル名)

6. ダウンロードしたファイルでOSとConfigを書き換えcommit

スイッチ毎の設定MACアドレスかシリアルコンフィグファイル名OSファイル名

コンフィグファイルJUNOSイメージ

構築

ファイルサーバ

Page 16: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

応用事例EzZTP

• Juniper SwitchのZTPを手軽に試してみるためのソフト(OSS)

– https://github.com/kazubu/ezztp

• VMware上で動作するOVAパッケージとして提供

– https://github.com/kazubu/ezztp/releases/tag/r77

全般設定Junos Image管理

Junos Config

テンプレート

管理スイッチ(VC)の管理

管理対象機器

(ToR)の管理

構築

Page 17: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

PyEZ(設定フェイズ)

Page 18: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

運用ワークフローと自動化

構築

設定運用

PlanDeploy

TroubleshootAudit

Configuration ChangesSoftware Management

PyEZ

Junos Script(Event option)

JSNAP

Netconf / DMI

Operate

Chef

Puppet

Ansible

PyEZ

Configure

ZTP

Ansible

OpenClos

Build

Page 19: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

Python on Box and PyEZ

• Off BoxサポートJUNOS 11.4以降, Python 2.7

• On BoxサポートJUNOS 16.1以降Python Op, Event, Commitスクリプト対応

• PyEZとは、シンプルかつ強力な、JUNOSを操作するためのPythonライブラリ

19

Junos Automation Scripts

EventDMGD

cscriptlibSLAX

libPython

PyEZ

設定

運用

Page 20: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

Raw Python – 48 lines

どのスクリプトでも「show version」の情報を取得

ncclient – 19 lines

PyEZ – 7 lines (and gathers more info)

PyEZを使用するメリット設定

運用

Page 21: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

ユースケースPyEZを使用したWebアプリの開発

NETCONF/SSH

Web Server+PythonCGI+Juniper PyEz

HTTP/HTTPS

設定

運用

Page 22: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

PyEZを利用したWebアプリ

機器の探索と情報取得

機器の一覧表示と、showコマンド等の実行

SET形式設定の一括投入

JUNOS OSインストール

サポート情報(RSI)取得結果の一覧

OSイメージ管理

PyEZを利用したWeb CGIアプリ。Pythonが書ければ、ユーザ自身で機能拡張が可能。

設定

運用

Page 23: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

JSNAP(運用フェイズ)

Page 24: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

運用ワークフローと自動化

構築

設定運用

PlanDeploy

TroubleshootAudit

Configuration ChangesSoftware Management

PyEZ

Junos Script(Event option)

JSNAP

Netconf / DMI

Operate

Chef

Puppet

Ansible

PyEZ

Configure

ZTP

Ansible

OpenClos

Build

Page 25: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

JSNAPユースケース

今日、数十台の設定変更をしたけど、本当に

正常状態に戻ってる?

稼働中の機器は当初の設計通りの

設定と運用状態になってる?

CASE1 CASE2

運用

Page 26: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

JSNAP

Security

RoutingSwitchi

ng

A

P

I

SREQUEST - RESPONSE

PRE SNAPSHOT

POST SNAPSHOT

FINAL OUTPUT

運用

config / 各種状態を保存、比較する運用支援ツール

Page 27: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

CASE1. 作業前後の状態確認

作業手順0. 事前確認作業

JSNAPで機器の事前状態を取得:

N. 事後確認作業JSNAP機器の事後状態を取得

スナップショット(1), (2)を比較

JSNAPで作業前の状態を保存しておけば、

状態比較もカンタン!

JSNAP

JSNAP

スナップショット(1)

スナップショット(2)

JSNAPサーバ(Linux)

Netconf

JSNAP

Page 28: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

使用手順サービス開始時機器の正常状態をJSNAPで定義(リソース消費、プロトコル状態)

確認作業任意のタイミングで、機器状態を取得

サービス定義ファイルと、スナップショットを比較

サービス定義ファイル

スナップショット

JSNAPサーバ(Linux)

Netconf

CASE2. 設計通りの運用状態?

設計情報を基に、いつでも、何台でも正常性確認が簡単にできるよ

JSNAP

Page 29: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

みなさんの運用を楽に…

運用コストの低減

新たな課題へチャレンジ

運用負荷の低減

作業の質の向上

ミス撲滅

Page 30: 【Interop Tokyo 2016】 進化を続けるJUNOS Automation

Thank you