$30 off During Our Annual Pro Sale. View Details »

ディペンダブルなクラウド環境を支えるクライアント仮想化技術

 ディペンダブルなクラウド環境を支えるクライアント仮想化技術

第1回クラウドコンピューティング基盤シンポジウム

Avatar for Takahiro Shinagawa

Takahiro Shinagawa

November 21, 2010
Tweet

More Decks by Takahiro Shinagawa

Other Decks in Technology

Transcript

  1. 2010/11/2 6 The NIST Definition of Cloud Computing Essential Characteristics:

    … Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
  2. 2010/11/2 7 クライアントとサーバの性能バランス サーバ 高性能 サーバ 低性能 (なし) クライアント高性能 クライアント低性能

    メインフレーム ダム端末 クライアント・ サーバ Web (テキスト+画像) PC (スタンドアロン) リッチクライアント Ajax, Flash, HTML5 シンクライアント X端末 iPhoneアプリ Google検索 クラウド コンピューティング
  3. 2010/11/2 8 集中処理 ⇒ 集中管理 集中処理することで集中管理を実現している サーバ集中管理のメリット • セキュリティ管理が容易 •

    情報漏洩防止,情報破壊防止,… • 運用管理が容易 • インストール,バックアップ,… サーバ集中処理のデメリット • 性能・効率の低下 • レスポンス(応答性),デバイスの活用 • 機能の分断,電力消費増加
  4. 2010/11/2 9 集中管理 ≠ 集中処理 「集中管理 & 分散処理」は実現可能 セキュリティ管理 •

    データのセキュリティ • 暗号化,バックアップ • プログラムのセキュリティ • サンドボックス(ブラウザ,iPhone App) 運用管理 • 安全なアプリケーション配信 • HTTP+HTML&JavaScript • iTunes ストア プログラム データ サーバ クライアント
  5. 仮想マシン (VM: Virtual Machine) 仮想マシン (VM: Virtual Machine) 仮想化ソフトウェア(仮想マシンモニタ)とは 仮想的な実行環境=仮想マシンを生み出すソフトウェア

    ハードウェア 仮想マシン (VM: Virtual Machine) 仮想マシンモニタ (VMM: Virtual Machine Monitor) ゲストOS ハードウェア 物理マシン OS 2010/11/2 14
  6. 2010/11/2 15 クライアント仮想化の形態 • サーバ実行型 • 画面転送型シンクライアント • 仮想PC型 •

    サーバーベース型 • ブレードPC型 • ローカル実行型 • OS配信型クライアント • ネットワークブート型 • ローカルVM型
  7. 2010/11/2 16 仮想マシンモニタを使う利点 OSに依存しないディペンダビリティの向上 • セキュリティ管理 • 強力 • OSが乗っ取られても大丈夫

    • 強制的 • ユーザが勝手に無効にできない • 運用管理 • 互換性 • OSを変更しなくてよい ハードウェア 仮想マシン 仮想マシンモニタ ゲストOS
  8. 仮想マシンモニタの構造 2009/3/13 17 ホストOS 仮想マシンモニタ ゲストOS ゲストOS 仮想マシンモニタ ゲストOS ゲストOS

    デバイスドライバ デバイスドライバ デバイスモデル 仮想マシンモニタ Domain 0 ゲストOS デバイスドライバ リソース管理 抽象化層 デバイスモデル ハードウェア ハードウェア ハードウェア リソース管理 リソース管理 デバイスモデル ホスト型 (Type-II VMM) ハイパーバイザ型 (Type-I VMM) ハイブリッド型 20万行 (VMWare ESX Server) 10万行+Domain 0 (Xen)
  9. 従来の仮想マシンモニタの問題点 • 仮想マシンモニタ自身のセキュリティ • OSを丸ごと含むくらいの巨大・複雑なシステム • E.g. ホストOSに定期的にパッチを当てる必要がある • ハードウェア資源の有効活用を阻害

    • 仮想化されたデバイスしか使えない • VM切り替えのオーバーヘッド 2010/11/2 18 ホストOS 仮想マシンモニタ ゲストOS ゲストOS デバイスドライバ デバイスモデル リソース管理 抽象化層 ハードウェア
  10. 2010/11/2 22 ハードウェア対応状況 • 基本ハードウェア • Intel VT, AMD-V (32bit/64bit)

    • ストレージ • HDD (ATA/AHCI) • CD/DVD/Blu-ray (ATAPI) • USBメモリ (UHCI (USB1.1)/EHCI (USB2.0)) • ネットワーク • Intel PRO 100/1000 シリーズ • 82566MM, 82566DC, 82567LM, 82572EI, 82562V-2 10/100 • Realtek RTL 8169 (Experimental) • RTL8111/8168B
  11. 2010/11/2 25 セキュアVM • PCからの情報漏洩を防止する • ストレージ経由での情報漏洩防止 • HDDやUSBメモリ等を強制的に暗号化 •

    ネットワーク経由での情報漏洩防止 • ネットワーク通信を強制的に暗号化 • 接続先サーバを強制 • ICカードでの鍵管理 • 暗号化の鍵の安全な保存 • 接続先・ユーザ認証 ICカード ネットワーク ストレージ
  12. ゲストOS デバイス デバイスドライバ 拡張機能 2010/11/2 26 セキュアVM (実現手法) • VMMで3種類のデバイスを管理

    • ストレージ・アクセスを捕捉・暗号化 • ATA/ATAPI 及び USB1.1/2.0を捕捉 • AES-XTS(IEEE 1619)方式で暗号化 • ネットワーク・アクセスを捕捉・暗号化 • NIC(Intel PRO 100/1000)を捕捉 • IPSecでVPN接続 • IPv4/IPv6,パスワード認証,証明書認証 • ICカードで鍵管理・認証 • USB接続のカードリーダにアクセス • Type B の ICカードにアクセス • PC/SC, CCIDプロトコル ATA NIC USB ストレージ管理 ネットワーク管理 ID管理 デバイス メディエータ ATA NIC USB ATA NIC USB セキュアVM VMM ハードウェア
  13. 2010/11/2 27 システムファイル保護 • PCの乗っ取りを防止する • システムファイルを完全に保護する • OSの重要なファイル •

    カーネル・イメージ,デバイスドライバ,… • セキュリティソフトウェア • アンチウィルス,… • カーネル・ルートキットからも保護する • 直接デバイスI/Oでも書き込めない • 再起動すれば元に戻る • 最終ラインでのディフェンス
  14. システムファイル保護 (実現手法) • VMMでストレージアクセスを監視 • システムファイルへの書き換えを検出 • ファイルのデータ領域 • メタデータ領域

    • ディレクトリ構造 • ファイルとセクタのマッピングを管理 • セマンティックギャップを克服 • 低オーバーヘッドで実現 2010/11/2 28 ゲストOS デバイス デバイスドライバ 拡張機能 ATA NIC USB 保護モジュール デバイス メディエータ ATA ATA NIC USB VM VMM ハードウェア 保護ポリシー
  15. 透過的ネットワークブート • 任意のOSをネットワークからブート可能にする • OS・設定に依存しない • Windowsをそのままブート可能 • Linuxも一切設定なしでブート可能 •

    ローカルのハードウェア資源をフル活用 • 内蔵機器・周辺機器をOSが完全管理 • Blu-ray,USB3.0,各種USB機器,各種PCIデバイス,… • 省電力(デバイスの電源制御),最適化(デフラグなど),… 2010/11/2 29 クライアント サーバ (クラウド)
  16. 透過的ネットワークブート (実現手法) • VMMでディスクアクセスを ネットワーク転送 • OSにATAのインターフェイスを提供 • ローカルディスクと同じアクセス方法 •

    MS-DOSでも起動する • ATAへのアクセスをパケットに変換 • ATA over Ethernetプロトコルを使用 • 最小限の変換処理で実現可能 • パケットをネットワークへ転送 • ディスクイメージをサーバで集中管理 • 任意のAoEサーバを使用可能 2010/11/2 30 ゲストOS デバイス デバイスドライバ 拡張機能 ATA NIC USB ATA監視 NICアクセス ATA-AoE変換 デバイス メディエータ ATA NIC NIC USB VM VMM ハードウェア ATA
  17. 透過的VPN切り替え • クラウドへの接続の可用性を確保する • ネットワーク~サーバでの障害に対応 • インターネット層での経路障害 • VPNサーバ故障 •

    OSやユーザは切り替えを意識しない • あたかも基盤として高可用性を実現 • ユーザ・管理者に負担をかけない 2010/11/2 31 クライアント データセンター (クラウド) 専用線 VPN ルータ2 VPN ルータ1 Internet × ×
  18. 透過的VPN切り替え (実現手法) • VMMでVPN接続を切り替え • 定期的にネットワーク到達性をチェック • VMMからサーバにPingを送る • VMMでVPN切断・再接続を実施

    • 利用可能なサーバの選択 • IPsecでのコネクションを確立 • IPアドレスの不整合などを吸収 • TCP接続が切れない • 切り替え時間は3秒程度 2010/11/2 32 ゲストOS デバイス デバイスドライバ 拡張機能 ATA NIC USB VPNクライアント ID管理 デバイス メディエータ NIC ATA NIC USB セキュアVM VMM ハードウェア
  19. まとめ • クラウド時代のクライアント • 高機能クライアントも必要 • セキュリティ管理,運用管理 • クライアント向け仮想化ソフトウェア「BitVisor」 •

    準パススルー型アーキテクチャ • VMM自身のセキュリティ,透過性向上 • 「BitVisor」に基づくディペンダビリティ向上 • セキュリティ管理: セキュアVM,システムファイル保護 • 運用管理: 透過的VPN切り替え,透過的ネットワークブート 2010/11/2 34