SlideShare a Scribd company logo
2015年06月20日
qpstudy
さくらインターネット株式会社 / さくらインターネット研究所
上級研究員 松本直人
北米Webサービス事業者の最新動向
自社データセンター
プライベートクラウド
パブリッククラウド
ハイブリッドクラウド
自社データセンターおよび通信設備とパブリッククラウドの並存
Pinterst社
Netflix社
Dropbox社
Zynga社
facebook社
「利用」か「保有」かは、企業文化や導入背景により多様に変化している
出典: さくらインターネット研究所 2015年05月調べ
私たちを取り巻く計算機環境
国内すべてのサーバー資源を五年分集めても三桁万台(推定)
売上高別のサーバー仮想化動向
売上高1000億円規模を境界として、サーバー仮想化は当たり前
仮想マシン・インスタンス数の動向
北米市場のパブリッククラウドにおいて100VM以下が48%
あまり知られていない一つの仮説
日本国内においてサーバー10万台を1社で保有する企業は?
北米市場におけるクラウド利用動向
「利用」か「保有」かを決めていくジレンマは続く
とはいえ、我が国の現状は...
日々粛々とシステム管理が続いていますね
いま手に入るネットワーク高速化技術
1/10/25/40/50/56/100GbE NICという規格乱立が私たちの世界
旧世代の技術者が最近感じること
最新のネットワーク技術はいろいろあれど、本当に使ってます?
とはいえ、
ネットワーク技術を理解すれば
こんなこともできます
ベンダー非依存のサーバ冗長化手法
パブリッククラウドの多くで制限によりIPユニキャストのみ許可となっている
「L2TPv3(UDP)とIPv6 Anycastを用いてサーバ高可用性を実現する」
一般社団法人 情報処理学会 / 第69回コンピュータセキュリティ・第29回インターネットと運用技術合同研究発表会 研究報告より
ベンダーロックインを回避!
クラウド環境固有の
サーバ高可用性機能
(Internal Load Balancer)
クラウド環境に依存しない
サーバ高可用性機能
(IPv6 Anycast=OSPFv3+L2TPv3)
サーバ高可用性のメカニズム解説
OSPFv3 LSA update and IPv6 Anycast (redistributed connected)
※ちゃんとデータベースやストレージは同期してね
DBサーバ設定例 (CentOS7)
$ sudo su
# yum install -y quagga iptables-services net-tools traceroute tcpdump
# echo "net.ipv6.conf.all.forwarding = 1" > /etc/sysctl.conf
# cp -p /etc/quagga/zebra.conf /etc/quagga/ospf6d.conf
# setsebool -P zebra_write_config 1
# systemctl mask firewalld ; systemctl disable ip6tables
# systemctl enable ospf6d ; systemctl start ospf6d
# modprobe l2tp_eth
# ip l2tp add tunnel tunnel_id 5555 peer_tunnel_id 5555 udp_sport 5555 udp_dport 5555 encap udp
remote 100.78.18.43 local 100.78.28.127
# ip l2tp add session name eoip0000 tunnel_id 5555 session_id 5555 peer_session_id 5555
:
# vtysh
# conf t
# interface lo
# ipv6 address fd50:d026:9ade:99::99/64
# router ospf6
# router-id 10.0.0.99
# redistribute connected
# area 0.0.0.0 range ::/0
# interface eoip0000 area 0.0.0.0
# interface eoip0001 area 0.0.0.0
Webサーバ設定例 (CentOS7)
$ sudo su
# yum install -y quagga iptables-services net-tools traceroute tcpdump
# echo "net.ipv6.conf.all.forwarding = 1" > /etc/sysctl.conf
# cp -p /etc/quagga/zebra.conf /etc/quagga/ospf6d.conf
# setsebool -P zebra_write_config 1
# systemctl mask firewalld ; systemctl disable ip6tables
# systemctl enable ospf6d ; systemctl start ospf6d
# modprobe l2tp_eth
# ip l2tp add tunnel tunnel_id 5555 peer_tunnel_id 5555 udp_sport 5555 udp_dport 5555 encap udp
local 100.78.18.43 remote 100.78.28.127
# ip l2tp add session name eoip0000 tunnel_id 5555 session_id 5555 peer_session_id 5555
# vtysh
# conf t
# router ospf6
# router-id 10.0.0.1
# area 0.0.0.0 range ::/0
# interface eoip0000 area 0.0.0.0
# end
# wri
OSPFv3による障害切替時間の短縮
# vtysh
# conf t
# int eoip0000
# ipv6 ospf6 hello-interval 1
# ipv6 ospf6 retransmit-interval 2
# ipv6 ospf6 dead-interval 3
# int eoip0001
# ipv6 ospf6 hello-interval 1
# ipv6 ospf6 retransmit-interval 2
# ipv6 ospf6 dead-interval 3
:
# end
# wri
OSPFv3 Interval Adjustment
SDNの話を...と言われたので
OpenDaylightで網構成変更を!
即応的に網変更が必要ならば...
j=0
while j < len(data['vyatta-security:security']['vyatta-security-firewall:firewall']['name']):
if data['vyatta-security:security'] ... ['name'][j]['tagnode'] == u'ACCEPT-SRC-IPADDR':
print data['vyatta-security:security'] ... ['name'][j]['rule'][0]['action']
print data['vyatta-security:security'] ... ['name'][j]['rule'][0]['source']['address']
print ""
elif data['vyatta-security:security'] ... ['name'][j]['tagnode'] == u'DROP-ICMP':
print data['vyatta-security:security'] ... ['name'][j]['rule'][0]['action']
print data['vyatta-security:security'] ... ['name'][j]['rule'][0]['icmp']['type-name']
print ""
j+=1
コーディングしつつ、デバイス/エレメントを自在に操る癖をつける
※必要な場合にはね
まとめ
ネットワーク技術は
触って、慣れて、使って
はじめて価値を持つ
楽しみながら使っていきましょう
ご清聴誠にありがとうございました

More Related Content

クラウド時代のネットワーク再入門