日本初cloudstack採用のパブリッククラウド、 そのアーキテ...
TRANSCRIPT
-
0
Copyright IDC Frontier Inc. All rights reserved.
0
日本初CloudStack採用のパブリッククラウド、 そのアーキテクチャの全貌とスケール戦略
株式会社IDCフロンティア
技術開発本部 UX開発部 部長
クラウドアーキテクト
寺門 典昭
Mar 6, 2014
-
1 1
(C) IDC Frontier Inc. All Rights Reserved.
アジェンダ
• 歴史
• 乗り越えた課題
• IDCフロンティアのアーキテクチャ
• その他 Tips 紹介
• スケール戦略
-
2 2
(C) IDC Frontier Inc. All Rights Reserved.
2011年9月
-
3 3
(C) IDC Frontier Inc. All Rights Reserved.
IDCフロンティア、日本初!CloudStack採用のクラウドサービス
2011年9月
-
4 4
(C) IDC Frontier Inc. All Rights Reserved.
2011 2012 2013 2014
Google Trends "CloudStack"
by Google Trends
-
5 5
(C) IDC Frontier Inc. All Rights Reserved.
2011 2012 2013 2014
Google Trends "CloudStack"
by Google Trends
2012年4月 CloudStackをApache Software Foundationへ寄贈
-
6 6
(C) IDC Frontier Inc. All Rights Reserved.
2011 2012 2013 2014
Google Trends "CloudStack"
by Google Trends
2011年9月 日本初、IDCフロンティアが「CloudStack」を採用
X
-
7 7
(C) IDC Frontier Inc. All Rights Reserved.
2011 2012 2013 2014
Google Trends "CloudStack"
by Google Trends
2011年7月 シトリックスがCloud.comを買収
-
8 8
(C) IDC Frontier Inc. All Rights Reserved.
2011 2012 2013 2014
Google Trends "CloudStack"
by Google Trends
2013年3月 インテック
2012年1月 SCSK
2012年3月 NTTコミュニケーションズ
2012年7月 KDDI
-
9 9
(C) IDC Frontier Inc. All Rights Reserved.
2011 2012 2013 2014
Google Trends "CloudStack"
by Google Trends
2012年10月 日本初、IDCフロンティア CloudStack採用の プライベートクラウドサービス
X
-
10 10
(C) IDC Frontier Inc. All Rights Reserved.
2011 2012 2013 2014
Google Trends "CloudStack"
by Google Trends 2010年10月 プロジェクト始動
-
11 11
(C) IDC Frontier Inc. All Rights Reserved.
2011 2012 2013 2014
Google Trends "CloudStack"
by Google Trends 2010年10月 プロジェクト始動
2011年9月 日本初、IDCフロンティア が「CloudStack」を採用
-
12 12
(C) IDC Frontier Inc. All Rights Reserved.
プロジェクト始動
公演時のみ掲載
-
13 13
(C) IDC Frontier Inc. All Rights Reserved.
CloudStack Administration Guide
衝撃のドキュメント
-
14 14
(C) IDC Frontier Inc. All Rights Reserved.
乗り越えた課題
-
15 15
(C) IDC Frontier Inc. All Rights Reserved.
ファイアウォール機能が無い問題
-
16 16
(C) IDC Frontier Inc. All Rights Reserved.
ポートフォワーディングをファイアウォールとして扱っていた
CloudStack 2.2.0 API - User role
パブリックポートと仮想マシンのプライベートポートを紐付けるのみ。 暗黙の From Any Accept が設定される。
Public_IP : 80
VM_IP : 8080
From: 0.0.0.0/0 Accept
-
17 17
(C) IDC Frontier Inc. All Rights Reserved.
送信元を限定できるファイアウォール設定APIを追加
CloudStack 2.2.11 API - User role
ポートフォワーディングとは分離。 From のアドレスを指定が可能。
Public_IP : 80
VM_IP : 8080
From: 1.1.1.0/24 Accept
-
18 18
(C) IDC Frontier Inc. All Rights Reserved.
ファイアウォール機能の実装
-
19 19
(C) IDC Frontier Inc. All Rights Reserved.
コンソールで :(コロン)が打てない問題
-
20 20
(C) IDC Frontier Inc. All Rights Reserved.
コンソール機能
• IPの到達性が無くても仮想マシンに接続できる便利な機能(ハイパーバイザーのVNC経由で接続)
• 当時、USキーボードしか対応してなかったためタイプ出来ないキーが存在
• vim で、:wq で保存して終了するので、ファイルを開いたら、閉じれない。(T_T)
-
21 21
(C) IDC Frontier Inc. All Rights Reserved.
JPキーボード
USキーボード
-
22 22
(C) IDC Frontier Inc. All Rights Reserved.
日本語キーボード対応
-
23 23
(C) IDC Frontier Inc. All Rights Reserved.
仮想ルーターがシングル問題
-
24 24
(C) IDC Frontier Inc. All Rights Reserved.
仮想ルーターがシングル
• 障害時の2〜3分通信断
• 受け入れられなかった・・
VM VM VM
インターネット
物理 ホスト
物理 ホスト
仮想 ルーター
X 仮想
ルーター
復旧まで 2〜3分 仮想ルーター
-
25 25
(C) IDC Frontier Inc. All Rights Reserved.
仮想ルーター冗長化の開発
1.Keepalivedが1秒間隔でVRRP送信
2.Conntrackdがセッション状態を送信
3.VRRPを3回(2秒〜3秒)受け取らない
とフェイルオーバー発動
4.Backup仮想ルーターのIFアップ
5.セッション状態をコミット
6.ARPキャッシュ更新のためGratuitous
ARP送信
VM VM VM
Backup 仮想ルーター
インターネット
瞬時に切替 Master
仮想ルーター
-
26 26
(C) IDC Frontier Inc. All Rights Reserved.
仮想ルーター冗長化の仕組み(1)
/etc/keepalived/keepalived.conf ・・VRRPによる死活監視
/ramdisk/rrouter/master.sh ・・マスターがダウンした際に呼び出される
/ramdisk/rrouter/enable_pubip.sh ・・バックアップ仮想ルーターのIFを有効
/ramdisk/rrouter/arping_gateways.sh ・・Gratuitous ARPの送信
/ramdisk/rrouter/primary-backup.sh ・・セッション同期をコミット
/etc/conntrackd/conntrackd.conf ・・セッション情報の同期
-
27 27
(C) IDC Frontier Inc. All Rights Reserved.
仮想ルーター冗長化の仕組み(2)
! Configuration File for keepalived global_defs { router_id r-XXXXX-VM } ・・省略・・
vrrp_instance inside_network { state BACKUP interface eth0 virtual_router_id 51 priority 98 advert_int 1 ・・省略・・
virtual_ipaddress { 10.1.1.1/24 brd 10.1.1.255 dev eth0 } ・・省略・・
notify_master "/ramdisk/rrouter/master.sh" notify_backup "/ramdisk/rrouter/backup.sh" notify_fault "/ramdisk/rrouter/fault.sh" }
#!/bin/bash ip link|grep BROADCAST|grep -v eth0|grep -v eth1|cut -d ":" -f 2 > /tmp/iflist while read i do ip addr show $i|grep "inet " > /tmp/iplist_$i while read line do ip=`echo $line|cut -d " " -f 2|cut -d "/" -f 1` arping -I $i -A $ip -c 2 >> /ramdisk/rrouter/keepalived.log 2>&1 ・・省略・・
#!/bin/bash set -e ip link|grep BROADCAST|grep -v eth0|grep -v eth1|cut -d ":" -f 2 > /tmp/iflist while read i do ifconfig $i down ; ifconfig $i up done < /tmp/iflist ・・省略・・
#!/bin/bash CONNTRACKD_BIN=/usr/sbin/conntrackd CONNTRACKD_CONFIG=/etc/conntrackd/conntrackd.conf ・・省略・・
$CONNTRACKD_BIN -C $CONNTRACKD_CONFIG -c ・・省略・・
enable_pubip.sh
primary-backup.sh
arping_gateways.sh
master.sh keepalived.conf
-
28 28
(C) IDC Frontier Inc. All Rights Reserved.
テスト・テスト・テスト
-
29 29
(C) IDC Frontier Inc. All Rights Reserved.
リリースまで試したバージョン(2ヶ月前まで)
2010年 11月
12月
2011年 1月
2月
3月
5月
6月
7月
24日 2.2β1 23日 2.2β2 19日 2.2β4 9日 2.2.0 9日 2.2.2 24日 2.2.5 13日 2.2.6 14日 2.2.8
31日 2.2β3 16日 2.2.1 17日 2.2.3 27日 2.2.7
インストールテスト
VM作成テスト 全機能テスト 機能修正 運用シナリオ
-
30 30
(C) IDC Frontier Inc. All Rights Reserved.
リリース2ヶ月前
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 2.2.9
5 6 2.2.10
β
7
8 9 10 11 12 13 2.2.10
β2
14
15 16 17 18 19 20 2.2.10
β3
21
22 23 24 25 26 27 28 2.2.10
β4
29 30 2.2.10-
1
31
Sun Mon Tue Wed Thu Fri Sat
1 2.2.11
2 3 4
5 6 7 2.2.10-
2
8 9 10 11
12 13 14 15 16 17 18
19 20
21 22 23 24 25
26 27 28 29 30
2011年8月 2011年9月
サービスリリース
2.2.10-2 採用
-
31 31
(C) IDC Frontier Inc. All Rights Reserved.
IDCフロンティアのアーキテクチャ
-
32 32
(C) IDC Frontier Inc. All Rights Reserved.
構成
• ゾーンタイプ: Advanced
• ハイパーバイザー: VMware vSphere ESXi
• プライマリストレージ: SSD+HDD 自動階層化
• セカンダリストレージ: 筐体間レプリケーション
• ネットワーク: オール10G
• 仮想ルーター: Redundant Router(冗長化)
-
33 33
(C) IDC Frontier Inc. All Rights Reserved.
全体構成
VM
…
System VMs
Hosts Secondary Storages
Administrator
Internet
… …
User UI、API Access
Primary Storages
… … …
System VM
Zone
Pod
Cluster Cluster Cluster Cluster Cluster Cluster
Pod Pod
Management Servers
-
34 34
(C) IDC Frontier Inc. All Rights Reserved.
全体構成 ー 現在2ゾーン
別々のデータセンターで稼働
-
35 35
(C) IDC Frontier Inc. All Rights Reserved.
ゾーンタイプ
-
36 36
(C) IDC Frontier Inc. All Rights Reserved.
Advanced Zone を採用
VM VM VM VM VM VM
インターネット
仮想ルーター
インターネット
標準(無償)で利用可 • ファイアウォール • ロードバランサー • ポートフォワーディング • スタティックNAT
• VPN
Advanced Mode (ネットワーク専有タイプ)
Basic Mode (ネットワーク共有タイプ)
専有空間 共有ネットワーク
-
37 37
(C) IDC Frontier Inc. All Rights Reserved.
ハイパーバイザー
-
38 38
(C) IDC Frontier Inc. All Rights Reserved.
VMware vShpere を採用
• 最も実績のあるハイパーバイザー
• IDCFクラウドで実績あり(マネージドタイプ)
• HA機能が唯一CloudStackから独立
• プロジェクト始動時、VMware未サポート
• VMware対応がプロジェクトのキーでした
X
-
39 39
(C) IDC Frontier Inc. All Rights Reserved.
プライマリストレージ
-
40 40
(C) IDC Frontier Inc. All Rights Reserved.
プライマリストレージ SSD + HDD の自動階層化
HDD
SSD
VM VM VM VM
Disk I/O
HDD (15,000rpm): 200 IOPS
SSD: 数万〜数十万 IOPS
参考)http://en.wikipedia.org/wiki/IOPS プライマリストレージ
自動再配置 ホットデータ
High I/O
コールドデータ
Middle I/O
http://en.wikipedia.org/wiki/IOPShttp://en.wikipedia.org/wiki/IOPShttp://en.wikipedia.org/wiki/IOPShttp://en.wikipedia.org/wiki/IOPShttp://en.wikipedia.org/wiki/IOPS
-
41 41
(C) IDC Frontier Inc. All Rights Reserved.
自動階層化の動作ロジック
• 24時間のトータルのIO数をカウント
• IOが多い順に1GBブロックの単位でSSDに配置
• 全ての仮想マシンが対象
• 追加費用など無し
-
42 42
(C) IDC Frontier Inc. All Rights Reserved.
セカンダリストレージ
-
43 43
(C) IDC Frontier Inc. All Rights Reserved.
セカンダリストレージ 筐体間レプリケーション
セカンダリ ストレージ
2
セカンダリ ストレージ
1
別ハードウェアにデータコピー
データ
Sync
バックアップデータに近い ・テンプレート ・スナップショット
コピー
-
44 44
(C) IDC Frontier Inc. All Rights Reserved.
ネットワーク
-
45 45
(C) IDC Frontier Inc. All Rights Reserved.
ネットワークはすべて10Gbps
VM
…
System VMs
Hosts Secondary Storages
Administrator
Internet
… …
User UI、API Access
Primary Storages
… … …
System VM
Zone
Pod
Cluster Cluster Cluster Cluster Cluster Cluster
Pod Pod
Management Servers
※ 一部のサービスでは、1Gbps部分もあります
-
46 46
(C) IDC Frontier Inc. All Rights Reserved.
仮想ルーター
-
47 47
(C) IDC Frontier Inc. All Rights Reserved.
Redundant Router
• 障害時に2〜3秒で切り替わり
• 既存のセッションも同期することで、
サービスが継続
• バージョンアップ時などのメンテナ
ンスで影響を最小限に
• 2つの仮想ルーターは別のポッド
(物理的に別のクラスタ)に配置される(同時にダウンしないことを保証)
VM VM VM
Backup 仮想ルーター
インターネット
瞬時に切替 Master
仮想ルーター
-
48 48
(C) IDC Frontier Inc. All Rights Reserved.
安定性 No.1
パフォーマンス No.1
-
49 49
(C) IDC Frontier Inc. All Rights Reserved.
安定性 No.1 の実現
許容ダウンタイム
99.95% = 月間 約22分
99.999% = 月間 約26秒
-
50 50
(C) IDC Frontier Inc. All Rights Reserved.
パフォーマンス No.1 の実現
CloudHarmonyについて CloudHarmony社は2009年に設立され、事業者からサービスの提供を受けて第三者視点による公正なクラウドのパフォーマンスや稼働率を測定し、その結果をWebサイトで公表するベンチマークを提供しています。 2014年3月現在、116にもおよぶクラウドサービスが登録されており、100種類以上のベンチマーク結果が公表され、海外では利用者がクラウドサービスを選定する際の一つの指標となっています。
-
51 51
(C) IDC Frontier Inc. All Rights Reserved.
ハイパフォーマンスへの追求
-
52 52
(C) IDC Frontier Inc. All Rights Reserved.
その他 Tips 紹介
-
53 53
(C) IDC Frontier Inc. All Rights Reserved.
ロードバランサーの最大コネクション数
デフォルトの最大コネクション数4,096を変更
global log 127.0.0.1:3914 local0 warning maxconn 4096 chroot /var/lib/haproxy user haproxy group haproxy daemon defaults log global mode tcp option dontlognull retries 3 option redispatch option forwardfor option forceclose ・・省略・・
haproxy.cfg (default) global log 127.0.0.1:3914 local0 warning maxconn 20000 chroot /var/lib/haproxy user haproxy group haproxy daemon defaults maxconn 20000 log global mode tcp option dontlognull retries 3 option redispatch option forwardfor option forceclose ・・省略・・
haproxy.cfg (customzed)
書き換え
※ CloudStack 4.2より機能として実装されています
-
54 54
(C) IDC Frontier Inc. All Rights Reserved.
ロードバランサーの分散状況の確認
秒間セッション 同時接続数 ステータス
グローバル設定 "network.loadbalancer.haproxy.visibility" を disable 以外にすることで有効
-
55 55
(C) IDC Frontier Inc. All Rights Reserved.
APIコマンド(idcf.computeコマンド)
$ sudo yum -y localinstall http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm $ sudo yum -y localinstall http://repo.cloud.idc.jp/Linux/CentOS/6/idc/x86_64/idcf-release-8-0.0.idcf.el6.noarch.rpm $ sudo yum -y install idcf.compute
インストール(CentOS 6 の場合)
[account] host=https://api.noahcloud.jp/portal/client/api api_key=YOUR_API_KEY secret_key=YOUR_SECRECT_KEY
設定ファイル(~/.idcfrc)
$ idcf-compute-api ¥ deployVirtualMachine ¥ --zoneid=ZONE_ID ¥ --serviceofferingid=SERVICE_OFFERING_ID ¥ --templateid=TEMPLATE_ID ¥ --keyboard=jp ¥ --keypair=KEYPAIR_NAME ¥ --displayname=DISPLAY_NAME
コマンド例(deployVirtualMachine)
便利な CloudStack API コマンド作りました。
詳しくはこちら 〜IDCFクラウド API ドキュメント − Getting Started
http://www.idcf.jp/cloud/docs/Getting%20Started
http://www.idcf.jp/cloud/docs/Getting Startedhttp://www.idcf.jp/cloud/docs/Getting Startedhttp://www.idcf.jp/cloud/docs/Getting Started
-
56 56
(C) IDC Frontier Inc. All Rights Reserved.
Vagrant
Vagrantとは?
• $ vagrant up で、開発環境をつくれます
• 環境の統一と再利用が簡単
• vagrant-cloudstack へ commit 貢献
• vagrant用OSイメージの公開(CentOS 6)
• $ vagrant up --provider cloudstack で、
IDCフロンティアのクラウドへ開発環境をつくれます
詳しくはこちら 〜 vagrant-cloudstack用 CentOS 6.5 テンプレート公開〜
http://www.idcf.jp/blog/cloud/vagrant-cloudstack-2/
X
http://www.idcf.jp/blog/cloud/vagrant-cloudstack-2/http://www.idcf.jp/blog/cloud/vagrant-cloudstack-2/http://www.idcf.jp/blog/cloud/vagrant-cloudstack-2/http://www.idcf.jp/blog/cloud/vagrant-cloudstack-2/http://www.idcf.jp/blog/cloud/vagrant-cloudstack-2/http://www.idcf.jp/blog/cloud/vagrant-cloudstack-2/
-
57 57
(C) IDC Frontier Inc. All Rights Reserved.
Scalr (OSS クラウドマネージメントツール)
-
58 58
(C) IDC Frontier Inc. All Rights Reserved.
IDCフロンティアのスケール戦略
-
59 59
(C) IDC Frontier Inc. All Rights Reserved.
3メガデータセンター
1棟 500Rack x 最大 12棟
1棟 600Rack x 最大 6棟
6拠点
北九州DC
首都圏DC
白河DC
http://intra/sites/marcom/DocLib/1/%E6%96%B0%E5%AE%BF%E5%A4%96%E8%A6%B3_%EF%BC%A9DCF%E7%9C%8B%E6%9D%BF.JPG
-
60 60
(C) IDC Frontier Inc. All Rights Reserved.
最先端 白河データセンター
-
61 61
(C) IDC Frontier Inc. All Rights Reserved.
DDoS プロテクション
• ネットワークの上流でDDoS対策を実施
• DDoS攻撃の検知から防御までを自動で実行
• IDCフロンティアのネットワークサービス(クラウド含む)ご利用のすべてのお客様が対象
• お客様に合わせたカスタマイズも可能
-
62 62
(C) IDC Frontier Inc. All Rights Reserved.
豊富な物理サーバーラインナップ
ディスクタイプ: MLC CPU: Xeon x 2 メモリ: 32GB〜192GB ディスク容量: 365〜785GB
スタンダードタイプ ioDriveタイプ
ディスクタイプ: 15〃000rpm CPU: Xeon x 2 メモリ: 32GB〜192GB ディスク容量: 292GB
大容量タイプなど、その他多数ラインナップあり
-
63 63
(C) IDC Frontier Inc. All Rights Reserved.
One ネットワーク構想
NFV
NFV NFV
Private Connect
IDCF Backbone AS4694
Internet
シームレス オンデマンド ロケーションフリー
最適経路 高信頼性 低コスト
スマホ時代のネットワーク
-
64 64
(C) IDC Frontier Inc. All Rights Reserved.
One ネットワーク
HAProxy,LVS, Stingray,Vyatta..
拡張仮想ルーター
仮想サーバー
標準仮想ルーター
物理サーバー
Internet
GSLB(East) GSLB(West)
専用アプライアンス
お客様サーバー
選べる ネットワーク
選べる サーバー
-
65 65
(C) IDC Frontier Inc. All Rights Reserved.
プライベートコネクト
閉域網でIDCフロンティアの すべてのサービスと接続が可能
分散ストレージ
-
66 66
(C) IDC Frontier Inc. All Rights Reserved.
オープンソース分散データベースへの投資
2012年7月、米国 Basho Technologies, Inc. と戦略的資本提携を行いました
Basho Riak、Riak CS の技術を用いたクラウドストレージを近日リリース!
-
67 67
(C) IDC Frontier Inc. All Rights Reserved.
CloudStack事業者の会
-
68 68
(C) IDC Frontier Inc. All Rights Reserved.
公演時のみ掲載
CloudStack事業者の会
• 四半期毎で開催
• 不具合情報の交換
• ノウハウの共有
• 日本の声をCloudStackへ届ける
SCSK NTT Communications
2014年3月 参加企業:
2013年3月共同レター
KDDI
富士通エフアイピー
FUJITSU
-
69 69
(C) IDC Frontier Inc. All Rights Reserved.
公演時のみ掲載
-
70 70
(C) IDC Frontier Inc. All Rights Reserved.
ご清聴ありがとうございました。
-
71 71
(C) IDC Frontier Inc. All Rights Reserved.