interop2018 ブースセッション資料

16
0 Copyright IDC Frontier Inc. All rights reserved. 0 Network Automationによる クラウドネットワークのあり方 ~Ruby, NetConf, MySQLを用いた自社開発~ 会社IDCフロンティア 術開発本部 UX開発部 上 一清

Upload: -

Post on 14-Apr-2017

59 views

Category:

Internet


0 download

TRANSCRIPT

0

Copyright IDC Frontier Inc. All rights reserved.

0

Network Automationによるクラウドネットワークのあり方

~Ruby, NetConf, MySQLを用いた自社開発話~

株式会社IDCフロンティア技術開発本部 UX開発部

井上 一清

11

(C) IDC Frontier Inc. All Rights Reserved.

IDCフロンティアの歩み

2014

2013

2012

20112010

2009

2008IDCフロンティアに社名変更Yahoo! JAPANグループへ

セルフクラウドリリース

北九州データセンター竣⼯

白河データセンター1・2号棟竣工

マネージドクラウドリリース

2005ソフトバンクIDCに社名変更ソフトバンクグループへ

Yahoo!ビッグデータインサイトリリース

IDCFクラウドリリース

オブジェクトストレージサービスリリース

2016IDCFクラウド

大幅サービス拡充my Thongs(IOT)

リリース

22

(C) IDC Frontier Inc. All Rights Reserved.

IDCフロンティアの歩み

1年半で1万アカウント突破

33

(C) IDC Frontier Inc. All Rights Reserved.

今の IDCフロンティアのサービス

Network(総容量290Gbps)Network(総容量290Gbps)

クラウドとかデータ系サービスとかIoTとかやってます

DataCenter(全国9DCs)DataCenter(全国9DCs)

パブリッククラウド

ハイブリッドクラウド

プライベートクラウド

オブジェクトストレージ

データ分析

コロケーション

NetworkService

Network(総容量890Gbps 国内No1!)

IoT

44

(C) IDC Frontier Inc. All Rights Reserved.

IDCFクラウドの豊富なメニュー

http://www.idcf.jp/cloud/

55

(C) IDC Frontier Inc. All Rights Reserved.

ほぼ毎週リリースどんどん開発

66

(C) IDC Frontier Inc. All Rights Reserved.

890Gbps

1,000Gbps2016年6月

潤沢なキャパシティを持つインフラを創っていく

1,000Gbpsへ大幅増速(の予定)

500円VMでも5桁IOPS出たりするゾ

2016年x月

77

(C) IDC Frontier Inc. All Rights Reserved.

お客様同士をつなぐハブへ

データ集積地構想

C. データエクスチェンジ

B. エコアライアンス

D. ビッグデータ

DMP

A. クラウドアライアンス

88

(C) IDC Frontier Inc. All Rights Reserved.

閉域網×データ集積地

自由に設計可能なプライベートネットワークで当社仮想マシン、お客様マシン、データサービスをセキュアに接続

自由に設計可能なプライベートネットワークで当社仮想マシン、お客様マシン、データサービスをセキュアに接続

プライベートコネクト

99

(C) IDC Frontier Inc. All Rights Reserved.

ネットワーク自動化概要

情報は 、命令は 化、 等を用いてルータに自動設定情報はDB、命令はWeb/API化、netconf等を用いてルータに自動設定http://www.juniper.net/jp/jp/company/press-center/press-releases/2016/pr_2016_06_02-00_00.page

1010

(C) IDC Frontier Inc. All Rights Reserved.

作業のプログラム化クライアント

HTTP

Rest API

SinatraDB

Jobs Setting devices

Job登録

Workers

Juniperルータ

Worker

Netconf

Worker

Netconf

Worker

Netconf

未実⾏Job確認

設定反映

人がやっていた部分をロジック化して、プログラムに落とし込んでいく。

MySQL

Ruby

命令は命令はAPI

情報はDB

+----+-----------+-------------+------------+------+--------+--------+--------------------+----+| id | vpn_num | domain |username | vlan | vrf | zone | segment |job |+----+-----------+-------------+------------+------+--------+--------+--------------------+----+| 72 | NPVN00619 | 70000000619 |issei06192 | 20 | 619 | Henry | 192.168.20.254/24 | 1 || 71 | NPVN00619 | 70000000619 |issei0619 | 19 | 619 | Pascal | 192.168.19.254/24 | 1 || 67 | NPVN00618 | 70000000618 |issei0618 | 618 | 18 | Tesla | 192.168.18.254/24 | 1 || 68 | NPVN00618 | 70000000618 |issei0618 | 617 | 18 | Tesla | 192.168.60.254/24 | 1 || 65 | NPVN00111 | 70000000111 |issei01 | 111 | 110 | Tesla | 192.168.111.254/24 | 1 || 58 | NPVN00615 | 70000000615 |issei0615 | 15 | 6 | Pascal | 192.168.15.254/24 | 1 || 59 | NPVN00615 | 70000000615 |issei0615-2 | 152 | 6 | Tesla | 192.168.152.254/24 | 1 || 64 | NPVN00615 | 70000000615 |issei0615-4 | 154 | 6 | Pascal | 192.168.154.254/24 | 1 || 57 | NPVN00608 | 70000000608 |Issei | 50 | 60 | Pascal | 192.168.1.0/24 | 1 || 63 | NPVN00615 | 70000000615 |issei0615-3 | 615 | 6 | Henry | 192.168.156.254/24 | 1 || 62 | NPVN01615 | 70000001615 |issei1615 | 16 | 15 | Tesla | 192.168.16.254/24 | 1 || 56 | NPVN00612 | 70000000612 |issei0612 | 612 | 612 | Tesla | 192.168.61.254/24 | 1 |+----+-----------+-------------+------------+------+--------+--------+--------------------+----+

1111

(C) IDC Frontier Inc. All Rights Reserved.

Pythonだったらの例クライアント

HTTP

Restful

DB

Jobs Setting devices

Job登録

Workers

プライベートコネクトルーター

Worker Worker Worker

未実⾏Job確認

設定反映

1212

(C) IDC Frontier Inc. All Rights Reserved.

自動化をするための準備1. 作業手順の標準化

– 構成の標準化– ポリシーの統一化– Configの機械的な生成

2. ツールによる設定の簡素化– library等の各種ツール– メーカ、機種、Version等の相違を吸収

3. API化– パラメータをhttpで⼊⼒し設定を投⼊– JSON等で変数渡せるようなAPIも必要

4. 他システムとの連携– アカウント情報との連携– 認証、課⾦– ユーザ向けAPIの統合

標準化なくして自動化なし ゚ ゚ ゞ標準化なくして自動化なし( ゚Д゚)ゞイレギュラーなもの曖昧なものはCode化しづらい

化Job化Workerでのスケジューリング

Bash、NetConf、APIなどでの設定libraryがあると嬉しい

各動作とAPIを関連づけるRubyでもpythonでもphpでも何でも良い

1313

(C) IDC Frontier Inc. All Rights Reserved.

Juniperの良いところ

• Netconfライブラリがある• netconfはlibraryがないとまず扱えない

• commit、lockの機構がある• 中途半端な状態で反映されない

• 世代管理(show | compare)が超便利• 開発時には試⾏錯誤を繰り返すのでrollbackも超便利

• xml形式でのparseが簡単(show | display xml)• マニュアル不要でコードが書ける

1414

(C) IDC Frontier Inc. All Rights Reserved.

デモ

Internet

PrivateConnect

UUID:xxxxxx

192.168.18.0/24

network_uuid:B

10.30.11.0/24

network_uuid:B

augusta-zone joule-zone

Jouleゾーンのマシンと1000km離れたAugustaゾーンのマシンを接続

15

(C) IDC Frontier Inc. All Rights Reserved.