Download - CloudStack at Cloud Week 2012
シトリックス・システムズ・ジャパン(株)
ソリューションマーケティングマネージャー
北瀬 公彦
twitter: @kkitase
クラウド基盤ソフトウェア
CloudStack詳細解説 http://www.slideshare.net/kkitase/cloudstackcloudweek2012
CloudStackとは
CloudStackとは
• IaaSクラウド構築・管理ソフトウェア
• リッチなセルフサービスポータル ᵒ 管理者用、グループ管理者用、ユーザー用
• 豊富なネットワークサービス ᵒ LB, FW, VPN, NAT等 ᵒ 外部ネットワーク機器連携
• 豊富な採用事例 ᵒ 100以上のクラウドサービスで採用
• オープンソース ᵒ Apache CloudStack (4.0: 9/26予定) ᵒ Apache Software Foundationにより開発
• 商用ディストリビューション ᵒ Citrix CloudPlatform
CloudStack: 現在に至るまで
2008 2009
VMOps is
Founded
Apache
CloudStack
2010 2011 2012
Citrix Acquires
Cloud.com
Cloud.com
launches
Apache Software Foundation
The Apache Way
• コミュニティ間で、連携したソフトウェア開発
• 商用版を開発しやすいライセンス体系
• 尊重、信頼、技術ベースのコミュニケーション
• セキュリティ重視
• オープンソース財団における標準
• 10年以上の歴史、100以上のプロジェクト、
800以上の開発者
• Apache Web Server, Apache Tomcat, Hadoop,
Cassandra, etc. • 強力な開発コミュニティ
June ’11 Pre-Acquisition
September ’11 Post-Acquisition
April ’12 Post-Apache
CloudStack.org アクセス数
15,683
185,515
598,651
4x
June ’11 Pre-Acquisition
September ’11 Post-Acquisition
April ’12 Post-Apache
CloudStack ダウンロード数
5,088
12,950
16,511
3x
June ’11 Pre-Acquisition
September ’11 Post-Acquisition
April ’12 Post-Apache
CloudStack コミュニティーメンバー数
2,000
8,000
29,000
15x
Apache CloudStackのエコシステム
*
* *
* * *
最も簡単なコントリビューション 1. [email protected] に登録 ([email protected] に空メール)
2. パッチやドキュメントのコントリビューションを行う。 上記メーリングリストかbugs.cloudstack.orgへ登録 3. http://www.cloudstack.org
Apache CloudStack Contributor
不明な点があれば@kkitaseまで
• オープンソースのApache CloudStackをベースにした商用ディストリビューション
• Citrix XenServer 有償版を包含
• CloudPortal Business Managerとの連携
• 徹底的なテスト
• テクニカルサポート、コンサルティングサービス、バージョンアップ等の サービスを提供
Citrix CloudPlatformとは
詳細説明
14
Primary Storage
Secondary Storage Management Server
Host
アーキテクチャ概要 ネットワーク機器
物理サーバー
vm vm vm vm vm vm vm vm vm vm vm vm vm vm
vm
vm
vm
vm
コンソールプロキシーVM (System VM) ユーザーが作成したインスタンスにVNCで接続するためのプロキシーVM
セカンダリストレージVM (System VM) セカンダリストレージをコントロールするためのVM
仮想ルーター (System VM) 各テナントに、様々なネットワークサービス(LB, FW, NAT, VPN, DHCP, DNS) を提供するためのVM
ユーザーインスタンス (Guest VM) 各テナントのユーザーが作成したVM
テナントA テナントB
Host
アーキテクチャ概要
ハイパーバイザーとの接続
Hosts ハイパーバイザー
Primary Storage
仮想マシン用のストレージ
Cluster HostとPrimary Storageを組み合わせたグループ単位
Network
サービスオファリングに関連付けられた論理ネットワーク
Secondary Storage
テンプレートや、スナップショット、ISO用のストレージ
Zone Pod、ネットワークオファリング、セカンダリストレージを組み合わせたグループ
Management Server
管理機能や仮想マシンのプロビジョニング機能の提供 Zone
CloudStack Pod
Cluster
Host
Host
Network
Primary Storage
VM
VM
CloudStack Pod
Cluster Secondary Storage Management
Server
CloudStackのコンポーネント
NFS Server
Secondary
Storage
Primary
Storage
Hosts (Computing Nodes)
Management
Server
Layer-2
Switch Router &
Firewall
Public IP
62.43.51.125 Internet
192.168.10.0/24
192.168.10.10 to 192.168.10.13
192.168.10.3 192.168.10.4
構成例 – 小規模、検証環境
NFS
Primary Storage
NFS
Secondary Storage
Pod 1
Pod 2
Management
Server Cluster
Layer-3 switches with firewall modules
Layer-2 switches
NFS
Primary Storage
NFS
Primary Storage
NFS
Primary Storage
NFS
Secondary Storage
Hosts
(Computing Nodes)
Primary
Storage Servers Secondary
Storage Servers
構成例 - 中規模、大規模環境
Data Center 1
構成例 - マルチサイト環境
Availability
Zone 1
Primary
Management
Server
Data Center 2
Secondary
Management
Server
MySQL
Replication
Data Center 3
Data Center 4
Availability
Zone 2
Availability
Zone 3
Availability
Zone 4
Domain 1
ユーザー管理
Account 2
User 2
User N
Account N
User 2
User N
Sub Domain 2
Account 1
User 1
User N
Account N
User 1
User N
Sub Domain 1
Project 1
• Domain: • 最も大きいグループ単位 • 複数のSub domainを含めることができる • 例: 企業、もしくはサービス事業者が再販事業者に 割り当てる単位
• Account: • 独立したグループ単位 • Account毎に仮想ルーターが作成され、ネットワークサービスを提供
• Domainは複数のAccountの組み合わせ • 例: テナント(企業)単位、もしくは組織単位
• User: • もっとも小さい単位 • AccountはUserの組み合わせ
• Project: • Accountを横断したグループを作成することができる
ベーシックモード(レイヤー 3 ゲスト ネットワーク)
23
ゲスト VM
1
ゲスト VM
2
ゲスト VM
3
ゲスト VM
4
NetScaler
ロード バランサー
CloudStack 管理外でのネットワーク サービス提供 CloudStack 管理下でのネットワーク サービス提供
DHCP, DNS
仮想ルーター
セキュリティ グループ 1
セキュリティ グループ 2
Guest
VM 1
Guest
VM 2
Guest
VM 3
Guest
VM 4
DHCP, DNS
仮想ルーター
EIP, ELB
L3
スイッチ
セキュリティ グループ 1
セキュリティ グループ 2
アドバンスモード(レイヤー 2 ゲストネットワーク)
24
パブリック ネットワーク/ インターネット
ゲストネットワーク(VLANあり)
プライベート IP アドレス
DHCP, DNS, NAT, VPN, Load Balancing, Firewall, Port Forwarding
グローバル IP アドレス
ゲスト
VM 1
ゲスト
VM 2
ゲスト
VM 3
ゲスト
VM 4
仮想ルーター
DHCP, DNS
ゲスト
VM 1
ゲスト
VM 2
ゲスト
VM 3
ゲスト
VM 4
NetScaler
ロード バランサー
Juniper SRX
ファイアウォール
仮想ルーターによるネットワーク サービス提供 外部ネットワーク機器によるネットワーク サービス提供
仮想ルーター
パブリック ネットワーク/ インターネット
ゲストネットワーク(VLANあり)
プライベート IP アドレス グローバル IP アドレス
25
SDN / OpenFlow 連携: Stratosphere SDN コントローラー
SDN / OpenFlow 連携: Nicira NVP
26
• 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
ストレージ連携: 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
• 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://localhost:8080/client アクセス
• admin / password
• CloudStack UI インフラストラクチャ ゾーン すべて表示 ゾーンの有効化
詳細: http://wiki.cloudstack.org/display/COMM/DevCloud
ソースコードの入手
• Git Extentionのインストール •デフォルト設定でOK
•リポジトリのclone • クローンするリポジトリ: https://git-wip-
us.apache.org/repos/asf/incubator-
cloudstack.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
リファレンス • ライセンス
Apache License Version 2.0 • コミュニティーサイト
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など
• Facebook CloudStack ファンページ
http://www.facebook.com/cloudstackjapan
まとめ
38
まとめ
39
• Apache CloudStack ᵒ Apache Software Foundationが開発するオープンソースソフトウェア
• Citrix CloudPlatform ᵒ Apache CloudStackをベースに開発されたディストリビューション
•豊富な事例 ᵒ 北海道大学をはじめ、北陸先端大学、IDCフロンティア、NTTコミュニケーション等で使用されている
• 簡単に試せることができる ᵒ とりあえず@kkitaseをフォローしておけば、大抵の情報が網羅できる
ᵒ より詳細な情報が欲しい場合、[email protected]に登録 • [email protected]に空メールを送ると登録
ご清聴ありがとうございました
40
最も簡単なコントリビューション 1. [email protected] に登録 ([email protected] に空メール)
2. パッチやドキュメントのコントリビューションを行う。 上記メーリングリストかbugs.cloudstack.orgへ登録 3. http://www.cloudstack.org
不明な点があれば@kkitaseまで