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

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

Jan 07, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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