opencontrail days 2014 spring めざせ超オンプレ(汗)

31
めざせ超オンプレ(汗) 吉野純平 2014/05/13 opencontrail days 2014 Spring 1

Upload: junpei-yoshino

Post on 20-Jun-2015

830 views

Category:

Engineering


1 download

TRANSCRIPT

めざせ超オンプレ(汗)

吉野純平

2014/05/13 opencontrail  days  2014  Spring 1

#define  VROUTER_OVERLAY_LEN              

20(ip)  +  8(gre+key)  +  4(mpls)  *  3

40 2014/05/13 opencontrail  days  2014  Spring 2

2014/05/13 opencontrail  days  2014  Spring 3

IP  MTU  1500    

TCP  MSS  1460 overhead  40

IP  MTU  1460  TCP  MSS  1420

物理層 contrail環境

MSSを1460  -­‐>  1420に変更

おことわり

ユーザ事例という話ですが  どちらかというとbug  fix係です  まだ本格的に導入出来ていません    opencontrail  contributorに感謝  

2014/05/13 opencontrail  days  2014  Spring 4

超オンプレをめざすとは

2014/05/13 opencontrail  days  2014  Spring 5

その設備が消滅しても  携わる人が食べていける  

今日の結論

他との接続方法が重要    

opencontrailはそこが良い    

みんなで使おう  2014/05/13 opencontrail  days  2014  Spring 6

最近の開発

小さいチームでヒットまで持って行く      

負荷対策や開発の人員の投入      

拡大 2014/05/13 opencontrail  days  2014  Spring 7

セルフサービスであれ

•  システム部門がスピードの足かせ  •  依頼とかでは遅くなるだけ  •  ミドルウエア等は使いたい者を使うべき

2014/05/13 opencontrail  days  2014  Spring 8

セルフサービスのために

•  クラウド事業者のサービスを使う  •  自社設備を使えるようにして渡す

2014/05/13 opencontrail  days  2014  Spring 9

ネットワークで何やるか

•  クラウドと接続  – 流行ったらオンプレも活用を考える  

•  既存資産の有効利用  – 残っている簿価との戦い  – 廃棄や解約計画

2014/05/13 opencontrail  days  2014  Spring 10

クラウド接続の恐怖

•  アドレスバッティング  •  不完全なポリシー適用

•  ミスオリジン  

2014/05/13 opencontrail  days  2014  Spring 11

アドレスバッティング

オンプレ

クラウド1  172.31.0.0/16

クラウド2  172.31.0.0/16

リナンバが必要

2014/05/13 opencontrail  days  2014  Spring 12

ACL管理は無謀

オンプレ

クラウド1  

クラウド2  1   2  

共有資源

2014/05/13 opencontrail  days  2014  Spring 13

ACL設定

ミスオリジン

2014/05/13 opencontrail  days  2014  Spring 14

クラウド1  x.x.0.0/16  

クラウド2  x.y.0.0/16  

オンプレ

接続予定だった

事故!!!

対応策

•  NAT  •  インスタンスのルーティングでがんばる  •  クラウドのルーティングでがんばる?  •  ルーティングテーブルを分ける  •  内部接続しない  

2014/05/13 opencontrail  days  2014  Spring 15

contrailの使い方

L3VPNと共に

2014/05/13 opencontrail  days  2014  Spring 16

オンプレ

某社の現状の惨状

•  シングルルーティングテーブル  •  ACLでがんばる現状

POP DC  X

クラウド1

クラウドX

呍呍呍呍呍呍

1

X

2014/05/13 opencontrail  days  2014  Spring 17

やりたいこと

クラウド  事業者  

オンプレ

VRF  

bare  metal

VRF  

bare  metal

L3SW L3SW L3SW

bare  metal

VM VM

クラウド  事業者  

2014/05/13 opencontrail  days  2014  Spring 18

L3VPN

L3VPN

•  VRF内の経路を交換  – communityやroute  targetでimport/exportする  

2014/05/13 opencontrail  days  2014  Spring 19

inet inet-­‐vpn

GRT   VRF  A   VRF  B   VRF  X  ・・・・・・  

BGP

戦場を狭める

•  キャリアさんの後ろを歩く  – L3VPNはもう枯れているだろう  

•  攻めるところは攻める  – エッジオーバレイ本気でやりますか?  – NFVを求めない限り必要ないかも?  – 現状設備を活かすならやるしかない  

2014/05/13 opencontrail  days  2014  Spring 20

どう連携させるか

2014/05/13 opencontrail  days  2014  Spring 21

オンプレ

クラウド1  

クラウド2  

L3VPN

エッジオーバレイ

fabric系など

経路交換

エッジオーバレイ技術への要求

•  コントロールプレーン  – ルータが使えるプロトコルでVPNの経路交換  

•  データプレーン  – ルータがencap/decapできる方式で転送できる  

•  contrailは満たしている

2014/05/13 opencontrail  days  2014  Spring 22

実装

2014/05/13 opencontrail  days  2014  Spring 23

変更は最小限に

•  ゲートウエイルータを設置  •  L3VPNを構築しVRFを作る  •  クラウドとVRFを接続。センター間はL2。  •  contrailを使ってインスタンスとVRFを接続  

POP DC  X

クラウド1

クラウドX L3SW L3SW

呍呍呍

ゲートウエイルータ  

2014/05/13 opencontrail  days  2014  Spring 24

経路制御のポリシー

•  contrail配下の経路をaggregate  routeで追加  – コントローラのピアが切れたら経路を消したい  – aggregateがhiddenになることで消す  

2014/05/13 opencontrail  days  2014  Spring 25

/32  /32  /32  /32  /32

/22 gateway  router

L3VPN側 contrail側

contrailとL3VPNの経路交換

•  API経由で設定  •  パラメータ  – L3VPN側のroute  target  – 適用するcontrailのproject  –  import/export/双方  

•  参考  –  hcps://github.com/pedro-­‐r-­‐marques/opencontrail-­‐netns/blob/master/opencontrail_netns/network_manage.py  

2014/05/13 opencontrail  days  2014  Spring 26

今後の展望

•  自社バックボーン全体でL3VPN対応したい  – 自社の設備があればどこでもクラウド接続  

•  default  +  parfal  –  IRS21  サクラインターネット 大久保さんの発表  –  Internet  week  2013  S5  GREE  黒河内さんの発表  – 私の目的は、L3VPNを混ぜるリソースを得ること  

•  contrailを使ったNetwork  Funcfonの提供  

2014/05/13 opencontrail  days  2014  Spring 27

まだイケてないところ

•  エラーログわかりづらすぎ  •  version  up周り  

2014/05/13 opencontrail  days  2014  Spring 28

修行にはちょうどいいかも

•  ネットワークの復習に  •  モダンな開発システムを体験  – gerrit  +  jenkins  – github  

•  ビルド・パッケージングの訓練  •  ライブラリ等の依存解決  •  ネットワーク機器メーカー様のつらさを体験  

2014/05/13 opencontrail  days  2014  Spring 29

まとめ

他との接続方法が重要    

opencontrailはそこが良い    

みんなで使おう  2014/05/13 opencontrail  days  2014  Spring 30

vrouter/linux/vrouter_mod.cより    /*    *  Overlay  length  used  for  TCP  MSS  adjust.  For  UDP  outer  header,  overlay    *  len  is  20  (IP  header)  +  8  (UDP)  +  4  (MPLS).  For  GRE,  it  is  20  (IP  header)    *  +  8  (GRE  header  +  key)  +  4  (MPLS).  Instead  of  allowing  for  only  one    *  label,  we  will  allow  a  maximum  of  3  labels,  so  we  end  up  with  40  bytes    *  of  overleay  headers.    */  

#define  VROUTER_OVERLAY_LEN  40        max_mss  =  dev-­‐>mtu  -­‐                                                            (VROUTER_OVERLAY_LEN  +  sizeof(struct  vr_ip)  +                                                              sizeof(struct  tcphdr));

2014/05/13 opencontrail  days  2014  Spring 31