OpenContrail days 2014 Spring めざせ超オンプレ(汗)

1,300 views

Published on

Published in: Engineering

OpenContrail days 2014 Spring めざせ超オンプレ(汗)

  1. 1. めざせ超オンプレ(汗) 吉野純平 2014/05/13 opencontrail  days  2014  Spring 1
  2. 2. #define  VROUTER_OVERLAY_LEN               20(ip)  +  8(gre+key)  +  4(mpls)  *  3 40 2014/05/13 opencontrail  days  2014  Spring 2
  3. 3. 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に変更
  4. 4. おことわり ユーザ事例という話ですが   どちらかというとbug  fix係です   まだ本格的に導入出来ていません     opencontrail  contributorに感謝   2014/05/13 opencontrail  days  2014  Spring 4
  5. 5. 超オンプレをめざすとは 2014/05/13 opencontrail  days  2014  Spring 5 その設備が消滅しても   携わる人が食べていける  
  6. 6. 今日の結論 他との接続方法が重要     opencontrailはそこが良い     みんなで使おう   2014/05/13 opencontrail  days  2014  Spring 6
  7. 7. 最近の開発 小さいチームでヒットまで持って行く       負荷対策や開発の人員の投入       拡大 2014/05/13 opencontrail  days  2014  Spring 7
  8. 8. セルフサービスであれ •  システム部門がスピードの足かせ   •  依頼とかでは遅くなるだけ   •  ミドルウエア等は使いたい者を使うべき 2014/05/13 opencontrail  days  2014  Spring 8
  9. 9. セルフサービスのために •  クラウド事業者のサービスを使う   •  自社設備を使えるようにして渡す 2014/05/13 opencontrail  days  2014  Spring 9
  10. 10. ネットワークで何やるか •  クラウドと接続   – 流行ったらオンプレも活用を考える   •  既存資産の有効利用   – 残っている簿価との戦い   – 廃棄や解約計画 2014/05/13 opencontrail  days  2014  Spring 10
  11. 11. クラウド接続の恐怖 •  アドレスバッティング   •  不完全なポリシー適用 •  ミスオリジン   2014/05/13 opencontrail  days  2014  Spring 11
  12. 12. アドレスバッティング オンプレ クラウド1   172.31.0.0/16 クラウド2   172.31.0.0/16 リナンバが必要 2014/05/13 opencontrail  days  2014  Spring 12
  13. 13. ACL管理は無謀 オンプレ クラウド1   クラウド2   1   2   共有資源 2014/05/13 opencontrail  days  2014  Spring 13 ACL設定
  14. 14. ミスオリジン 2014/05/13 opencontrail  days  2014  Spring 14 クラウド1   x.x.0.0/16   クラウド2   x.y.0.0/16   オンプレ 接続予定だった 事故!!!
  15. 15. 対応策 •  NAT   •  インスタンスのルーティングでがんばる   •  クラウドのルーティングでがんばる?   •  ルーティングテーブルを分ける   •  内部接続しない   2014/05/13 opencontrail  days  2014  Spring 15
  16. 16. contrailの使い方 L3VPNと共に 2014/05/13 opencontrail  days  2014  Spring 16
  17. 17. オンプレ 某社の現状の惨状 •  シングルルーティングテーブル   •  ACLでがんばる現状 POP DC  X クラウド1 クラウドX 1 X 2014/05/13 opencontrail  days  2014  Spring 17
  18. 18. やりたいこと クラウド   事業者   オンプレ VRF   bare  metal VRF   bare  metal L3SW L3SW L3SW bare  metal VM VM クラウド   事業者   2014/05/13 opencontrail  days  2014  Spring 18 L3VPN
  19. 19. 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
  20. 20. 戦場を狭める •  キャリアさんの後ろを歩く   – L3VPNはもう枯れているだろう   •  攻めるところは攻める   – エッジオーバレイ本気でやりますか?   – NFVを求めない限り必要ないかも?   – 現状設備を活かすならやるしかない   2014/05/13 opencontrail  days  2014  Spring 20
  21. 21. どう連携させるか 2014/05/13 opencontrail  days  2014  Spring 21 オンプレ クラウド1   クラウド2   L3VPN エッジオーバレイ fabric系など 経路交換
  22. 22. エッジオーバレイ技術への要求 •  コントロールプレーン   – ルータが使えるプロトコルでVPNの経路交換   •  データプレーン   – ルータがencap/decapできる方式で転送できる   •  contrailは満たしている 2014/05/13 opencontrail  days  2014  Spring 22
  23. 23. 実装 2014/05/13 opencontrail  days  2014  Spring 23
  24. 24. 変更は最小限に •  ゲートウエイルータを設置   •  L3VPNを構築しVRFを作る   •  クラウドとVRFを接続。センター間はL2。   •  contrailを使ってインスタンスとVRFを接続   POP DC  X クラウド1 クラウドX L3SW L3SW ゲートウエイ ルータ   2014/05/13 opencontrail  days  2014  Spring 24
  25. 25. 経路制御のポリシー •  contrail配下の経路をaggregate  routeで追加   – コントローラのピアが切れたら経路を消したい   – aggregateがhiddenになることで消す   2014/05/13 opencontrail  days  2014  Spring 25 /32   /32   /32   /32   /32 /22 gateway   router L3VPN側 contrail側
  26. 26. 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
  27. 27. 今後の展望 •  自社バックボーン全体でL3VPN対応したい   – 自社の設備があればどこでもクラウド接続   •  default  +  parfal   – IRS21  サクラインターネット 大久保さんの発表   – Internet  week  2013  S5  GREE  黒河内さんの発表   – 私の目的は、L3VPNを混ぜるリソースを得ること   •  contrailを使ったNetwork  Funcfonの提供   2014/05/13 opencontrail  days  2014  Spring 27
  28. 28. まだイケてないところ •  エラーログわかりづらすぎ   •  version  up周り   2014/05/13 opencontrail  days  2014  Spring 28
  29. 29. 修行にはちょうどいいかも •  ネットワークの復習に   •  モダンな開発システムを体験   – gerrit  +  jenkins   – github   •  ビルド・パッケージングの訓練   •  ライブラリ等の依存解決   •  ネットワーク機器メーカー様のつらさを体験   2014/05/13 opencontrail  days  2014  Spring 29
  30. 30. まとめ 他との接続方法が重要     opencontrailはそこが良い     みんなで使おう   2014/05/13 opencontrail  days  2014  Spring 30
  31. 31. 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

×