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