Document

クラウド基盤ソフトウェア
CloudStack詳細解説
http://www.slideshare.net/kkitase/cloudstackcloudweek2012
シトリックス・システムズ・ジャパン(株)
ソリューションマーケティングマネージャー
北瀬 公彦
twitter: @kkitase
CloudStackとは
CloudStackとは
• IaaSクラウド構築・管理ソフトウェア
• リッチなセルフサービスポータル
ᵒ 管理者用、グループ管理者用、ユーザー用
• 豊富なネットワークサービス
ᵒ LB, FW, VPN, NAT等
ᵒ 外部ネットワーク機器連携
• 豊富な採用事例
ᵒ 100以上のクラウドサービスで採用
• オープンソース
ᵒ Apache CloudStack (4.0: 9/26予定)
ᵒ Apache Software Foundationにより開発
• 商用ディストリビューション
ᵒ Citrix CloudPlatform
CloudStack: 現在に至るまで
2008
VMOps is
Founded
2009
2010
Cloud.com
launches
2011
Citrix Acquires
Cloud.com
2012
Apache
CloudStack
Apache Software Foundation
• オープンソース財団における標準
• 10年以上の歴史、100以上のプロジェクト、
800以上の開発者
• Apache Web Server, Apache Tomcat, Hadoop,
Cassandra, etc.
• 強力な開発コミュニティ
The Apache Way
• コミュニティ間で、連携したソフトウェア開発
• 商用版を開発しやすいライセンス体系
• 尊重、信頼、技術ベースのコミュニケーション
• セキュリティ重視
CloudStack.org アクセス数
598,651
4x
185,515
15,683
June ’11
September ’11
April ’12
Pre-Acquisition
Post-Acquisition
Post-Apache
CloudStack ダウンロード数
16,511
3x
12,950
5,088
June ’11
September ’11
April ’12
Pre-Acquisition
Post-Acquisition
Post-Apache
CloudStack コミュニティーメンバー数
29,000
15x
8,000
2,000
June ’11
September ’11
April ’12
Pre-Acquisition
Post-Acquisition
Post-Apache
Apache CloudStackのエコシステム
*
*
*
*
*
*
Apache CloudStack Contributor
最も簡単なコントリビューション
1. [email protected] に登録
([email protected] に空メール)
2. パッチやドキュメントのコントリビューションを行う。
上記メーリングリストかbugs.cloudstack.orgへ登録
3. http://www.cloudstack.org
不明な点があれば@kkitaseまで
Citrix CloudPlatformとは
• オープンソースのApache CloudStackを
ベースにした商用ディストリビューション
• Citrix XenServer 有償版を包含
• CloudPortal Business Managerとの連携
• 徹底的なテスト
• テクニカルサポート、コンサルティング
サービス、バージョンアップ等の
サービスを提供
詳細説明
14
アーキテクチャ概要
Management Server
Secondary Storage ネットワーク機器
物理サーバー
Host
Primary Storage
アーキテクチャ概要
vm vm
テナントA
vm vm vm vm
vm
vm
テナントB
vm
vm vm
vm vm vm
Host
vm
コンソールプロキシーVM (System VM)
vm
セカンダリストレージVM (System VM)
vm
仮想ルーター (System VM)
vm
ユーザーインスタンス (Guest VM)
ユーザーが作成したインスタンスにVNCで接続するためのプロキシーVM
セカンダリストレージをコントロールするためのVM
各テナントに、様々なネットワークサービス(LB, FW, NAT, VPN, DHCP, DNS) を提供するためのVM
各テナントのユーザーが作成したVM
ハイパーバイザーとの接続
CloudStackのコンポーネント
VM
Host
Network
VM
Host
Primary
Storage
Cluster
Management
Server
Secondary
Storage
Cluster
CloudStack Pod
CloudStack Pod
Zone
Hosts
ハイパーバイザー
Primary
Storage
仮想マシン用のストレージ
Cluster
HostとPrimary Storageを組み
合わせたグループ単位
Network
サービスオファリングに関連付けられ
た論理ネットワーク
Secondary
Storage
テンプレートや、スナップショット、
ISO用のストレージ
Zone
Pod、ネットワークオファリング、セカン
ダリストレージを組み合わせたグルー
プ
Management
Server
管理機能や仮想マシンのプロビジョ
ニング機能の提供
構成例 – 小規模、検証環境
192.168.10.3
Management
Server
Public IP
62.43.51.125
Internet
Primary
Storage
Secondary
Storage
NFS Server
192.168.10.0/24
Router &
Firewall
192.168.10.4
Layer-2
Switch
Hosts (Computing Nodes) 192.168.10.10 to 192.168.10.13
構成例 - 中規模、大規模環境
Layer-3 switches with firewall modules
Layer-2 switches
Hosts
(Computing Nodes)
NFS
Secondary Storage
NFS
Primary Storage
NFS
Primary Storage
Primary
Storage Servers
NFS
Primary Storage
NFS
Primary Storage
Pod 2
Secondary
Storage Servers
NFS
Secondary Storage
Pod 1
Management
Server Cluster
構成例 - マルチサイト環境
Primary
Management
Server
Secondary
Management
Server
MySQL
Replication
Data Center 2
Availability
Zone 4
Availability
Zone 1
Data Center 4
Data Center 1
Availability
Zone 2
Availability
Zone 3
Data Center 3
ユーザー管理
• Domain:
User 1
User 2
User N
User N
Account 1
Account 2
Project 1
User 1
User 2
User N
User N
Account N
Account N
Sub Domain 1
Sub Domain 2
Domain 1
• 最も大きいグループ単位
• 複数のSub domainを含めることができる
• 例: 企業、もしくはサービス事業者が再販事業者に
割り当てる単位
• Account:
• 独立したグループ単位
• Account毎に仮想ルーターが作成され、ネットワーク
サービスを提供
• Domainは複数のAccountの組み合わせ
• 例: テナント(企業)単位、もしくは組織単位
• User:
• もっとも小さい単位
• AccountはUserの組み合わせ
• Project:
• Accountを横断したグループを作成することができる
ベーシックモード(レイヤー 3 ゲスト ネットワーク)
CloudStack 管理外でのネットワーク サービス提供
セキュリティ グループ 1
セキュリティ グループ 1
ゲスト VM
1
Guest
VM 1
ゲスト VM
2
Guest
VM 2
ゲスト VM
3
DHCP, DNS
仮想ルーター
CloudStack 管理下でのネットワーク サービス提供
NetScaler
ロード バランサー
L3
スイッチ
Guest
VM 3
EIP, ELB
Guest
VM 4
ゲスト VM
4
セキュリティ グループ 2
DHCP, DNS
仮想ルーター
23
セキュリティ グループ 2
アドバンスモード(レイヤー 2 ゲストネットワーク)
仮想ルーターによるネットワーク サービス提供
グローバル IP アドレス
パブリック ネットワーク/
インターネット
ゲストネットワーク(VLANあり)
パブリック ネットワーク/
インターネット
プライベート IP アドレス
仮想ルーター
DHCP, DNS,
NAT, VPN,
Load Balancing,
Firewall,
Port Forwarding
外部ネットワーク機器によるネットワーク サービス提供
ゲスト
VM 1
ゲスト
VM 2
ゲスト
VM 3
ゲストネットワーク(VLANあり)
グローバル IP アドレス
プライベート IP アドレス
Juniper SRX
ファイアウォール
ゲスト
VM 2
NetScaler
ロード バランサー
ゲスト
VM 3
ゲスト
VM 4
ゲスト
VM 4
DHCP, DNS
24
ゲスト
VM 1
仮想ルーター
SDN / OpenFlow 連携: Stratosphere SDN コントローラー
25
SDN / OpenFlow 連携: Nicira NVP
• OpenFlowによるアイソレーション
• OpenvSwitchとOpenFlow
• L2 over L3 トンネル (GRE, STT等)
• https://cwiki.apache.org/confluence/
display/CLOUDSTACK/Feature+Nic
ira+NVP+integration
• By Hugo Trippaers, Schuberg Philis
26
ストレージ連携:
Amazon S3完全互換クラウドストレージCloudian
27
Demo
CloudStackを試してみよう
ポイント
• 最小で2台構成
• 1台目:CloudStack管理サーバー 兼 NFSストレージ
• CloudStack管理サーバー、MySQL、
NFS(プライマリストレージ、セカンダリストレージ)
• 2台目:ホスト(ハイパーバイザー)
• CloudStack管理サーバーは物理/仮想マシンともに構成可能だが、
CloudStackによる管理対象のホスト上には載せられない
※CloudStack管理対象になる際にホストがリフレッシュされるため
日本語情報も充実
• http://support.citrix.com
• Productsの中から
CloudStackを選択
• 日本語ドキュメント
• Choose Language→[日本語]
• 活発なコミュニティ
• CloudStackユーザ会
http://cloudstack.jp
開発、テスト編
• CloudStackの開発環境をつくりたいが…
• Hypervisor、Primary storage、Secondary storage、Network、VLAN、etc..
時間がかかる
• 環境が復旧不可能な状態になってしまう
• 最低でも2つ以上のサーバーが必要である
• Linux、Mac、Windows環境で開発したい
• DevCloud
• VirtualBoxの仮想アプライアンス(ova)で配布、無償!
• スナップショットに戻すだけで、簡単に初期状態に戻る!!
• 1つのPCで開発環境がセットアップできる!!!
• Macで開発できる!!!!
DevCloud
インストール方法
• システム要件
• 1G 空きメモリ、20Gの空きディスク、VT-x有効
• VirtualBoxのインストール
• https://www.virtualbox.org/wiki/Downloads
• Mac OS X 10.6 以下: 64bit Kernelを有効に
http://support.apple.com/kb/HT3773
• http://localhost:8080/client アクセス
• admin / password
• CloudStack UI  インフラストラクチャ  ゾー
ン  すべて表示  ゾーンの有効化
• DevCloud (.ova) 仮想アプライアンスをダウン
ロード
• http://download.cloud.com/templates/devcloud/DevCloud.ova
• DevCloud.ovaをインポート
• VirtualBoxを起動、 [ファイル] – [インポートアプライアンス]
DevCloud.ovaを選択
• 基本的に、デフォルト設定でOK
• “re-initialize the MAC address of all network cards”を選択しない
• DevCloudのスナップショットの作成
• Hostsファイル
• devcloud
127.0.0.1
詳細: http://wiki.cloudstack.org/display/COMM/DevCloud
ソースコードの入手
• Git Extentionのインストール
• デフォルト設定でOK
• リポジトリのclone
• クローンするリポジトリ: https://git-wipus.apache.org/repos/asf/incubatorcloudstack.git
• クローン先: ローカルのディレクトリの指
定
• Branch: master
• “error: Couldn‘t resolve proxy” と出る場合
C:\user\<user名>\.gitconfig  “Proxy=“を
削除
• Branchを切り替える時
• Git Bash ウインドウをオープン
• Git checkout <tag>
3.0.0: cf0a4e02743abb87b665ea585cb3cf1786c4d966
3.0.1: 38d6ce4ef27a90354ea72c2366e1be74a7403536
3.0.2: 5fda83b735d211ca5df614eb495b847a788027a3
ビルドの方法
• Mkisofsをインストール(isoファイルを作成するツール)
• Systemvm.isoの作成の際に必要
• 下記よりダウンロードし、C:\windows\system32などのPathの通るところに置いておく
• http://fy.chalmers.se/~appro/linux/DVD+RW/tools/win32/mkisofs.exe
• JDKのインストール
• http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html
• Antのインストール
• http://madhukaudantha.blogspot.com/2010/06/installing-ant-for-windows-7.html
• Ant clean-all clean-all
• <ソースコードディレクトリ>\target: バイナリが作成される
詳細: http://incubator.apache.org/cloudstack/develop/environment.html
リファレンス
• ライセンス
• Facebook CloudStack ファンページ
Apache License Version 2.0
http://www.facebook.com/cloudstackjapan
• コミュニティーサイト
cloudstack.org: 総本山 cloudstack.jp: 日本CloudStackユーザー会
docs.cloud.com: デザイン、ナレッジベース
bugs.cloudstack.org: バグトラッキングDB
https://cwiki.apache.org/CLOUDSTACK/: プロジェクトwiki
• ソースリポジトリ
https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git
• メーリングリスト (登録方法: http://cloudstack.jp/community)
[email protected]: 開発、テストエンジニア用のML
[email protected]: ユーザー用のML
[email protected]: 日本CloudStackユーザー会のML
• 今すぐフォローすべきTwitterアカウント
@kimotuki, @yasudatadahiro, @cloudstack_jpn, @kkitase, @smzksts,
@ke4qqq, @jzb, @mrhinkle, @ulander, @smw355, @CloudStackなど
まとめ
38
まとめ
• Apache CloudStack
ᵒ Apache Software Foundationが開発するオープンソースソフトウェア
• Citrix CloudPlatform
ᵒ Apache CloudStackをベースに開発されたディストリビューション
• 豊富な事例
ᵒ 北海道大学をはじめ、北陸先端大学、IDCフロンティア、NTTコミュニケーショ
ン等で使用されている
• 簡単に試せることができる
ᵒ とりあえず@kkitaseをフォローしておけば、大抵の情報が網羅できる
ᵒ より詳細な情報が欲しい場合、[email protected]に登録
• [email protected]に空メールを送ると登録
39
ご清聴ありがとうございました
最も簡単なコントリビューション
1. [email protected] に登録
([email protected] に空メール)
2. パッチやドキュメントのコントリビューションを行う。
上記メーリングリストかbugs.cloudstack.orgへ登録
3. http://www.cloudstack.org
不明な点があれば@kkitaseまで
40