CloudStackのアーキテクチャ
第1回CloudStack徹底入門読書会
自己紹介
北瀬 公彦
日本CloudStackユーザー会
広報担当
シトリックス・システムズ・ジャパン(株)
ソリューションマーケティングマネージャー
twitter: @kkitase
mail: kkitase@gmail.com
2000年3月シトリックスに入社以来、
テクニカルサポート、R&D、SE、マーケティングを担当
2012年より、クラウドソリューション開発、
クラウド関連製品マーケティングに従事
デスクトップ
仮想化
サーバー
仮想化
クラウド
ネットワーク仮想化
web: http://v12n.jp
http://cloudstack.jp
電子書籍も発売開始しました!
CloudStackを構成する
コンポーネント
セカンダリストレージ
(NFS, OpenStack Swift)
管理サーバー ネットワーク機器
(LB, FW, SDN/OpenFlow)
セルフサービスポータル
プライマリストレージ
(NFS, iSCSI, FC SAN, Local)
CloudPlatformアーキテクチャ概要
• Hosts
• ハイパーバイザー
• Primary Storage
• 仮想マシン用のストレージ
• Cluster
• HostとPrimary Storageを組み合わせたグループ単位
• Pod
• クラスタを組み合わせたグループ単位
• Zone
• Pod、ネットワークオファリング、セカンダリストレージを
組み合わせたグループ
• Secondary Storage
• テンプレートや、スナップショット、ISO用のストレージ
• Management Server Farm
• 管理機能や仮想マシンのプロビジョニング機能の提供
CloudPlatformのコンポーネント
Zone
Pod
Cluster
Host
Host
Network
Primary
Storage
VM
VM
Pod
ClusterSecondary
Storage
Management
Server
拡張性に富む設計
VMOps
Pod
VMOps
Pod
VMOps
Pod
CloudStack Pod
CloudStack PodCloudStack Pod CloudStack Pod
利用可能なゾーン
Data Center 1
構成例 - マルチサイト環境
Availability
Zone 1
Data Center 2
Secondary
Management
Server
MySQL
Replication
Data Center 3
Data Center 4
Availability
Zone 2
Availability
Zone 3
Availability
Zone 4
Primary
Management
Server
システムVM
vm vm vm vm vm vm vm vm vm vm vm vm vmvm
vm
vm
vm
vm
コンソールプロキシーVM (System VM)
ユーザーが作成したインスタンスにVNCで接続するためのプロキシーVM
セカンダリストレージVM (System VM)
セカンダリストレージをコントロールするためのVM
仮想ルーター (System VM)
各テナントに、様々なネットワークサービス(LB, FW, NAT, VPN, DHCP, DNS) を提供するためのVM
インスタンス
各テナントのユーザーが作成したVM
テナントA テナントB
システム VM
システム VM - SSVM
• セカンダリ ストレージ VM (SSVM)
ᵒ イメージ管理サービスを提供(テンプレートの提供等)
ᵒ HTTP 経由でイメージをダウンロード(FTP 等の他プロトコルは未
サポート)
ᵒ ゾーン間のイメージ コピーも行う
ᵒ 複数の NFS シェアを管理可能
ᵒ スナップショットのコピー
ᵒ Java ベースのサーバーが、メッセージバスを介して、管理サーバー
と連携
システム VM - CPVM
• コンソール プロキシ VM (CPVM)
ᵒ AJAX ベースの Web コンソールを提供
ᵒ ハイパーバイザーからの VNC 出力をブラウザにリダイレクト
ᵒ 負荷(セッション数)に応じてインスタンスを増減
ᵒ Java ベースのサーバーが、メッセージバスを介して、管理サーバー
と連携
仮想ルーター
• 複数のネットワーク サービスを提供
ᵒ IPAM (DHCP), DNS, NAT, Source NAT, Firewall, PF, VPN, User-data,
SSH キー/パスワード変更
• 管理サーバーから SSH 経由で設定
ᵒ XenServer と KVM ではハイパーバイザーを経由
システム VM 詳細
チューニング内容詳細
• 軽量化 - Minimize
ᵒ Debian 6.0 (“Squeeze”)
ᵒ 不要アカウントの削除
ᵒ 32-bit エディション(Xen/VMware 上でのパフォーマンスを考慮)
ᵒ 不要サービスはなし(printing, ftp, telnet, X, kudzu, dns, sendmail 等)
ᵒ XenServer の準仮想化ドライバー、XenTools、KVM virtio ドライバー、VMware tools が同梱
ᵒ デフォルト テンプレートはスクラッチから構築され、ログや履歴等も抹消済み
• セキュリティ - Security Hardening
ᵒ 2.6.32 カーネルと最新のセキュリティ パッチ
ᵒ SSH キーはインストール毎に変化
ᵒ SSH はリンクローカルアドレス(VMware ではプライベート アドレス)でのみ待ち受け、ポート
番号も標準から変更 (3922)、専用の秘密キーを使用(インストール時に動的に生成)
ᵒ 正規 Debian リポジトリ上の最新バージョンの haproxy, iptables, ipsec, apache 使用
ᵒ オラクル社提供の最新バージョンの JRE 同梱
システム VM 詳細
チューニング内容詳細
• 運用 - Maintenancability
ᵒ 再起動時にパッチの自動適用が可能なメカニズム
• ブート時にパッチを含む特別な ISO ファイルをマウント
• 前回と異なる内容を含む場合は、パッチを適用してリブート
ᵒ 全てのハイパーバイザーで同一構成のシステム VM が稼働
ᵒ システム VM のテンプレートのアップグレードが可能
ユーザー管理
ユーザー管理
• ユーザー
ᵒ もっとも小さい単位
ᵒ AccountはUserの組み合わせ
• アカウント
ᵒ 独立したグループ単位
ᵒ Account毎に仮想ルーターが作成され、ネット
ワークサービスを提供
ᵒ Domainは複数のAccountの組み合わせ
ᵒ 例: テナント(企業)単位、もしくは組織単位
• ドメイン
ᵒ 最も大きいグループ単位
ᵒ 複数のSub domainを含めることができる
ᵒ 例: 企業、もしくはサービス事業者が再販事業
者に割り当てる単位
• プロジェクト
ᵒ Accountを横断したグループを作成可能プロジェクト
ネットワーク
Layer-3 ゲストネットワーク
基本ネットワーク
65.11.1.2 Guest
VM 1
Guest
VM 2
Guest
VM 3
Guest
VM 4
パブリックネットワーク
インターネット
NetScaler
ロード
バランサー
65.11.1.3
65.11.1.4
65.11.1.5
DHCP
DNS
仮想ルーター
セキュリティグループ1
10.1.2.3 Guest
VM 1
Guest
VM 2
Guest
VM 3
Guest
VM 4
10.2.12.4
10.5.2.99
10.1.2.18
EIP, ELB
65.11.1.2
65.11.1.3
65.11.1.4
L3
スイッチ
セキュリティグループ2
DHCP
DNS
仮想ルーター
セキュリティグループ1
セキュリティグループ2
パブリックネットワーク
インターネット
仮想ルータによるネットワークサービスの提供 外部ネットワークアプライアンスによる
ネットワークサービスの提供モデル
Layer-2 ゲストネットワーク
拡張ネットワーク
ゲストネットワーク
10.1.1.1/8
VLAN 100, 1001
ゲートウェイアドレス
10.1.1.1
DHCP
DNS
NAT
Load Balancing
VPN
Public IP
65.37.141.11
10.1.1.1
Guest
VM 1
10.1.1.3
Guest
VM 2
10.1.1.4
Guest
VM 3
10.1.1.5
Guest
VM 4
ゲストネットワーク
10.1.1.1/8
VLAN 100, 101
Private IP
10.1.1.112
DHCP
DNS
Public IP
65.37.141.112
10.1.1.1
Guest VM
1
10.1.1.3
Guest VM
2
10.1.1.4
Guest VM
3
10.1.1.5
Guest VM
4
NetScaler
ロードバランサー
Private IP
10.1.1.111
Public IP
65.37.141.111 Juniper
SRX
ファイアウォール
仮想ルータによるネットワークサービスの提供 外部ネットワークアプライアンスによる
ネットワークサービスの提供モデル
仮想ルーター
パブリックネットワーク
インターネット
パブリックネットワーク
インターネット
仮想ルーター
各ネットワーク機器との比較
Feature Virtual Router NetScaler Juniper Cisco
Remote Access VPN YES N/A YES N/A
Site to Site VPN N/A N/A YES YES
Firewall YES N/A YES N/A
Source NAT YES N/A YES N/A
Static NAT YES YES YES N/A
Load Balancing YES YES N/A N/A
Auto Scaling N/A YES N/A N/A
Port Forwarding YES N/A YES N/A
Elastic IP N/A YES N/A N/A
Elastic LB N/A YES N/A N/A
DHCP/DNS/User Data YES N/A N/A N/A
ご清聴ありがとうございました
北瀬 公彦
日本CloudStackユーザー会
Email: kkitase@gmail.com
Twitter: @kkitase
http://cloudstack.jp
メンバ募集中
http://cloudstack.jp/community

CloudStack Architecture

  • 1.
  • 2.
    自己紹介 北瀬 公彦 日本CloudStackユーザー会 広報担当 シトリックス・システムズ・ジャパン(株) ソリューションマーケティングマネージャー twitter: @kkitase mail:kkitase@gmail.com 2000年3月シトリックスに入社以来、 テクニカルサポート、R&D、SE、マーケティングを担当 2012年より、クラウドソリューション開発、 クラウド関連製品マーケティングに従事 デスクトップ 仮想化 サーバー 仮想化 クラウド ネットワーク仮想化 web: http://v12n.jp http://cloudstack.jp
  • 3.
  • 4.
  • 5.
    セカンダリストレージ (NFS, OpenStack Swift) 管理サーバーネットワーク機器 (LB, FW, SDN/OpenFlow) セルフサービスポータル プライマリストレージ (NFS, iSCSI, FC SAN, Local) CloudPlatformアーキテクチャ概要
  • 6.
    • Hosts • ハイパーバイザー •Primary Storage • 仮想マシン用のストレージ • Cluster • HostとPrimary Storageを組み合わせたグループ単位 • Pod • クラスタを組み合わせたグループ単位 • Zone • Pod、ネットワークオファリング、セカンダリストレージを 組み合わせたグループ • Secondary Storage • テンプレートや、スナップショット、ISO用のストレージ • Management Server Farm • 管理機能や仮想マシンのプロビジョニング機能の提供 CloudPlatformのコンポーネント Zone Pod Cluster Host Host Network Primary Storage VM VM Pod ClusterSecondary Storage Management Server
  • 7.
  • 8.
    Data Center 1 構成例- マルチサイト環境 Availability Zone 1 Data Center 2 Secondary Management Server MySQL Replication Data Center 3 Data Center 4 Availability Zone 2 Availability Zone 3 Availability Zone 4 Primary Management Server
  • 9.
  • 10.
    vm vm vmvm vm vm vm vm vm vm vm vm vmvm vm vm vm vm コンソールプロキシーVM (System VM) ユーザーが作成したインスタンスにVNCで接続するためのプロキシーVM セカンダリストレージVM (System VM) セカンダリストレージをコントロールするためのVM 仮想ルーター (System VM) 各テナントに、様々なネットワークサービス(LB, FW, NAT, VPN, DHCP, DNS) を提供するためのVM インスタンス 各テナントのユーザーが作成したVM テナントA テナントB システム VM
  • 11.
    システム VM -SSVM • セカンダリ ストレージ VM (SSVM) ᵒ イメージ管理サービスを提供(テンプレートの提供等) ᵒ HTTP 経由でイメージをダウンロード(FTP 等の他プロトコルは未 サポート) ᵒ ゾーン間のイメージ コピーも行う ᵒ 複数の NFS シェアを管理可能 ᵒ スナップショットのコピー ᵒ Java ベースのサーバーが、メッセージバスを介して、管理サーバー と連携
  • 12.
    システム VM -CPVM • コンソール プロキシ VM (CPVM) ᵒ AJAX ベースの Web コンソールを提供 ᵒ ハイパーバイザーからの VNC 出力をブラウザにリダイレクト ᵒ 負荷(セッション数)に応じてインスタンスを増減 ᵒ Java ベースのサーバーが、メッセージバスを介して、管理サーバー と連携
  • 13.
    仮想ルーター • 複数のネットワーク サービスを提供 ᵒIPAM (DHCP), DNS, NAT, Source NAT, Firewall, PF, VPN, User-data, SSH キー/パスワード変更 • 管理サーバーから SSH 経由で設定 ᵒ XenServer と KVM ではハイパーバイザーを経由
  • 14.
    システム VM 詳細 チューニング内容詳細 •軽量化 - Minimize ᵒ Debian 6.0 (“Squeeze”) ᵒ 不要アカウントの削除 ᵒ 32-bit エディション(Xen/VMware 上でのパフォーマンスを考慮) ᵒ 不要サービスはなし(printing, ftp, telnet, X, kudzu, dns, sendmail 等) ᵒ XenServer の準仮想化ドライバー、XenTools、KVM virtio ドライバー、VMware tools が同梱 ᵒ デフォルト テンプレートはスクラッチから構築され、ログや履歴等も抹消済み • セキュリティ - Security Hardening ᵒ 2.6.32 カーネルと最新のセキュリティ パッチ ᵒ SSH キーはインストール毎に変化 ᵒ SSH はリンクローカルアドレス(VMware ではプライベート アドレス)でのみ待ち受け、ポート 番号も標準から変更 (3922)、専用の秘密キーを使用(インストール時に動的に生成) ᵒ 正規 Debian リポジトリ上の最新バージョンの haproxy, iptables, ipsec, apache 使用 ᵒ オラクル社提供の最新バージョンの JRE 同梱
  • 15.
    システム VM 詳細 チューニング内容詳細 •運用 - Maintenancability ᵒ 再起動時にパッチの自動適用が可能なメカニズム • ブート時にパッチを含む特別な ISO ファイルをマウント • 前回と異なる内容を含む場合は、パッチを適用してリブート ᵒ 全てのハイパーバイザーで同一構成のシステム VM が稼働 ᵒ システム VM のテンプレートのアップグレードが可能
  • 16.
  • 17.
    ユーザー管理 • ユーザー ᵒ もっとも小さい単位 ᵒAccountはUserの組み合わせ • アカウント ᵒ 独立したグループ単位 ᵒ Account毎に仮想ルーターが作成され、ネット ワークサービスを提供 ᵒ Domainは複数のAccountの組み合わせ ᵒ 例: テナント(企業)単位、もしくは組織単位 • ドメイン ᵒ 最も大きいグループ単位 ᵒ 複数のSub domainを含めることができる ᵒ 例: 企業、もしくはサービス事業者が再販事業 者に割り当てる単位 • プロジェクト ᵒ Accountを横断したグループを作成可能プロジェクト
  • 18.
  • 19.
    Layer-3 ゲストネットワーク 基本ネットワーク 65.11.1.2 Guest VM1 Guest VM 2 Guest VM 3 Guest VM 4 パブリックネットワーク インターネット NetScaler ロード バランサー 65.11.1.3 65.11.1.4 65.11.1.5 DHCP DNS 仮想ルーター セキュリティグループ1 10.1.2.3 Guest VM 1 Guest VM 2 Guest VM 3 Guest VM 4 10.2.12.4 10.5.2.99 10.1.2.18 EIP, ELB 65.11.1.2 65.11.1.3 65.11.1.4 L3 スイッチ セキュリティグループ2 DHCP DNS 仮想ルーター セキュリティグループ1 セキュリティグループ2 パブリックネットワーク インターネット 仮想ルータによるネットワークサービスの提供 外部ネットワークアプライアンスによる ネットワークサービスの提供モデル
  • 20.
    Layer-2 ゲストネットワーク 拡張ネットワーク ゲストネットワーク 10.1.1.1/8 VLAN 100,1001 ゲートウェイアドレス 10.1.1.1 DHCP DNS NAT Load Balancing VPN Public IP 65.37.141.11 10.1.1.1 Guest VM 1 10.1.1.3 Guest VM 2 10.1.1.4 Guest VM 3 10.1.1.5 Guest VM 4 ゲストネットワーク 10.1.1.1/8 VLAN 100, 101 Private IP 10.1.1.112 DHCP DNS Public IP 65.37.141.112 10.1.1.1 Guest VM 1 10.1.1.3 Guest VM 2 10.1.1.4 Guest VM 3 10.1.1.5 Guest VM 4 NetScaler ロードバランサー Private IP 10.1.1.111 Public IP 65.37.141.111 Juniper SRX ファイアウォール 仮想ルータによるネットワークサービスの提供 外部ネットワークアプライアンスによる ネットワークサービスの提供モデル 仮想ルーター パブリックネットワーク インターネット パブリックネットワーク インターネット 仮想ルーター
  • 21.
    各ネットワーク機器との比較 Feature Virtual RouterNetScaler Juniper Cisco Remote Access VPN YES N/A YES N/A Site to Site VPN N/A N/A YES YES Firewall YES N/A YES N/A Source NAT YES N/A YES N/A Static NAT YES YES YES N/A Load Balancing YES YES N/A N/A Auto Scaling N/A YES N/A N/A Port Forwarding YES N/A YES N/A Elastic IP N/A YES N/A N/A Elastic LB N/A YES N/A N/A DHCP/DNS/User Data YES N/A N/A N/A
  • 22.