日本初CloudStack採用のパブリッククラウド、 そのアーキテ...

72
0 Copyright IDC Frontier Inc. All rights reserved. 0 日本初CloudStack採用のパブリッククラウド、 そのアーキテクチャの全貌とスケール戦略 株式会社IDCフロンティア 技術開発本部 UX開発部 部長 クラウドアーキテクト 寺門 典昭 Mar 6, 2014

Transcript of 日本初CloudStack採用のパブリッククラウド、 そのアーキテ...

  • 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」を採用

  • 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採用の プライベートクラウドサービス

  • 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対応がプロジェクトのキーでした

  • 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.

    セカンダリストレージ 筐体間レプリケーション

    セカンダリ ストレージ

    セカンダリ ストレージ

    別ハードウェアにデータコピー

    データ

    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/

    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.