IaaS型クラウドにおける インスタンス構成の動的最適化手法

Slides:



Advertisements
Similar presentations
九州工業大学 塩田裕司 光来健一.  仮想マシンは必要なときだけ動かす使い方が一般 的 ◦ 一台の計算機上に複数の計算機を仮想的に作成できる ◦ デスクトップ  異なる OS を使用するため作成 ◦ サーバ  最大負荷に合わせた数の仮想マシンを作成  長期間使わない仮想マシンも存在する VM.
Advertisements

九州工業大学大学院 情報工学府 情報創成工学専攻 塩田裕司.  仮想マシン( VM )は必要なときだけ動かすこと が多い ◦ クラウドでもデスクトップでも ◦ 長期間使わない VM が存在する  VM の再開時に攻撃を受ける可能性が高くなる ◦ 停止中に OS やアプリケーションの脆弱性が発見されるこ.
ファイルキャッシュを考慮したディスク監視のオフロード
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
クラウド上の仮想マシンの安全なリモート監視機構
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
Xenを用いたクラウドコンピュー ティングにおける情報漏洩の防止
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
KVMにおけるIDSオフロードのための仮想マシン監視機構
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
クラウドにおけるライブラリOSを用いた インスタンス構成の動的最適化
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
クラウドにおけるアプリケーション単位での VM構成の動的最適化
帯域外リモート管理を継続可能な マイグレーション手法
大きな仮想マシンの 複数ホストへのマイグレーション
ネストした仮想化を用いた VMの安全な帯域外リモート管理
帯域外リモート管理の継続を 実現可能なVMマイグレーション手法
VMマイグレーションを可能にするIDSオフロード機構
IaaS型クラウドにおける キーボード入力情報漏洩の防止
クラウドの内部攻撃者に対する安全なリモートVM監視機構
サスペンドした仮想マシンの オフラインアップデート
サーバ負荷分散におけるOpenFlowを用いた省電力法
踏み台攻撃だけを抑制できる VMMレベル・パケットフィルタ
KVMにおける仮想マシンの 内部監視機構の実装と性能評価
Xenによる ゲストOSの監視に基づく パケットフィルタリング
分散IDSの実行環境の分離 による安全性の向上
VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止
VMのメモリ暗号化による クラウド管理者への情報漏洩の防止
VM専用仮想メモリとの連携による VMマイグレーションの高速化
リモートホストの異常を検知するための GPUとの直接通信機構
シャドウデバイスを用いた 帯域外リモート管理を継続可能なVMマイグレーション
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
ネストしたVMを用いた 仮想化システムの高速なソフトウェア若化
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
IaaS環境におけるVMのメモリ暗号化による情報漏洩の防止
クラウドにおけるVMリダイレクト攻撃を防ぐためのリモート管理機構
クラウドにおけるVM内コンテナを用いた 自動障害復旧システムの開発
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
クラウドにおけるVM内コンテナを用いた 低コストで迅速な自動障害復旧
Intel SGXを利用する 巨大なアプリケーションの マイグレーション機構
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
複数ホストにまたがって動作する仮想マシンの障害対策
セキュリティ機構のオフロード時の 性能分離
VMMのソフトウェア若化を考慮した クラスタ性能の比較
信頼できないクラウドにおける仮想化システムの監視機構
VM内コンテナを用いた サービス単位の オートスケール機構
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
仮想環境を用いた 侵入検知システムの安全な構成法
仮想マシンの監視を継続可能なマイグレーション機構
仮想マシンへの CPU 割り当ての変化に応じた最適な並列アプリケーション実行
仮想マシンと物理マシンを一元管理するための仮想AMT
仮想化システムのソフトウェア若化のための軽量なVMマイグレーション
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
ゼロコピー・マイグレーションを 用いた軽量なソフトウェア若化手法
仮想化システムの 軽量なソフトウェア若化のための ゼロコピー・マイグレーション
強制パススルー機構を用いた VMの安全な帯域外リモート管理
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
複数ホストにまたがるVMの 高速かつ柔軟な 部分マイグレーション
複数ホストにまたがるVMの メモリ使用状況に着目した高速化
強制パススルー機構を用いた VMの安全な帯域外リモート管理
管理VMへの キーボード入力情報漏洩の防止
Presentation transcript:

IaaS型クラウドにおける インスタンス構成の動的最適化手法 九州工業大学大学院 情報工学府 情報創成工学専攻 14675016 三宮浩太

IaaS型クラウドにおけるコスト削減 ユーザにインスタンス(VM)を提供 インスタンス構成を最適化してコスト削減 インスタンスの台数・タイプなどに対して課金 インスタンス構成を最適化してコスト削減 常に必要最低限のインスタンスだけを利用 インスタンスに必要な性能は変化し続ける インターネット 経由でアクセス Instance1 Instance2 Instance 3 価格例 : Amazon EC2 T2シリーズ Web サーバ App サーバ DB サーバ モデル CPU Mem (GiB) 価格($/hr.) t2.micro 1 0.013 t2.small 2 0.026 t2.medium 4 0.052 t2.large 8 0.104 インスタンスに 求められる性能 朝 昼 夕

従来のインスタンス構成の最適化 スケールイン・スケールアウト 負荷に応じてインスタンスの台数を増減 インスタンスが1 台になるとそれ以上減らせない サービス提供のために最低でも1台はインスタンスが必要 サービスがほとんど使われていなくても1台分の課金 Instance 1 t2.large Application 低負荷時 Instance 1 t2.large Application Instance 2 高負荷時 スケールアウト スケールイン

1台のインスタンスに対する最適化 スケールアップ・スケールダウン 負荷に応じてインスタンスタイプを切り替え 最小タイプまでしか性能を下げられない インスタンス単位でのコスト削減には限界がある 性能切り替え時にサービスのダウンタイムが発生 アプリケーションのデータを移動して再起動 Instance 2 t2.large Application CPU RAM Instance 1 t2.micro Application CPU RAM スケールアップ スケールダウン

アプリケーション統合による最適化 アプリケーションを1台のインスタンスに集約 トータルコストをさらに削減可能 統合・分離時にダウンタイムが発生 アプリケーション間の隔離が弱まる 各アプリケーションの脆弱性が他のアプリケーションに影響 Instance 1 t2.micro Instance 1 t2.micro Instance 2 t2.micro Instance 3 t2.micro 統合 Application 1 Application 2 分離 Application 1 Application 2 Application 3 Application 3

提案:FlexCapsule 各アプリケーションを軽量VMの中で動作させることでインスタンス構成を柔軟に最適化 最適化を行う際のダウンタイムを削減 VM間の強い隔離を利用 アプリケーション間のセキュリティの低下を防止 提案手法 従来 Instance App VM 1 App VM 2 Application1 Application1 Application 2 Application 2

FlexCapsuleを用いた最適化 migration 統合・分離 fork & migration App VM App VM exit Instance 2 Instance 2’ App VM App VM exit スケールイン・スケールアウト Instance 1 App VM スケールアップ・スケールダウン migration App VM Instance 3’ App VM Instance 3 App VM migration App VM 統合・分離

アプリケーションVM (App VM) インスタンス (VM)内で動作するVM ネストした仮想化を利用 単一アプリケーションをFlexCapsule OS上で実行 軽量なライブラリOS リソース消費量・オーバーヘッドが小さい Mini-OSおよびOSvをベースに開発 Instance App VM 1 App VM 2 Application 1 Application 2 FlexCapsule OS FlexCapsule OS 仮想化ソフトウェア

マイグレーションのサポート FlexCapsule OS自身がサスペンド・レジューム処理を行う必要がある App VM App VM マイグレーション時にデバイスドライバとの接続を切断してサスペンド マイグレーション後に再接続してレジューム 移動元Instance 移動先Instance App VM FlexCapsule OS App VM FlexCapsule OS ネットワーク デバイス ネットワーク デバイス 仮想化ソフトウェア 仮想化ソフトウェア

OSサーバ App VM内では実現できない機能を提供 アプリケーションのfork App VMへのパケットの転送 OSサーバ App VM listen/close関数の実行時に転送ルールを追加・削除 OSサーバ App VM App VM’ FlexCapsule OS 要求・返り値 fork バックエンド fork関数 ポート番号 ソケット バックエンド listen/close 関数

ネットワーキング NAPTを用いてApp VMのサービスを外部に提供 VPNを用いたマイグレーション透過なNAPT forkしたApp VMにはラウンドロビンで分配 VPNを用いたマイグレーション透過なNAPT App VMを別のインスタンスに移動後も元のグローバルIPアドレスでアクセス可 Instance 1 (131.206.0.2) Instance 2 VPN NAPT :80 :80 :8080 :8080 App VM 1 192.168.1.2 Webサーバ App VM 1’ 192.168.1.3 Webサーバ App VM 2 192.168.1.4 Appサーバ

実験 FlexCapsuleの有効性を確認する実験を行った インスタンス構成の最適化の効果を確認 fork関数の性能測定 ダウンタイム fork関数の性能測定 アプリケーション性能を測定 物理マシン CPU Intel Xeon 3.70GHz×4 メモリ 16GB 仮想化ソフトウェア Xen 4.2.4 管理VMのOS Linux 3.13.0 インスタンス CPU 2 vCPU メモリ 2GB 仮想化ソフトウェア Xen 4.2.4 管理VMのOS Linux 3.13.0 App VM CPU 1 vCPU メモリ 4〜256MB OSv v0.21 Mini-OS Xen 4.2.2版

アプリケーションの統合・分離 統合・分離時のダウンタイムを測定 統合されたApp VMを3台のインスタンスに分離 マイグレーション中のダウンタイムは短い App VMはLinux VMよりも短い 統合されたApp VMを3台のインスタンスに分離 アプリケーション性能が1.9〜2.7倍に向上 統合・分離により性能とコストのトレードオフがとれる

スケーリングによる最適化 スケールイン・スケールアウト スケールアップ・スケールダウン インスタンスを1台から2台に増加 アプリケーションの性能が2倍に向上 スケールアップ・スケールダウン インスタンスの仮想CPUを1つから2つに増加 App VMを用いても最適化の効果が得られる

fork関数の性能測定 fork関数の実行にかかる時間を測定 App VMのメモリサイズにわずかに比例 Xenの標準機能を組み合わせるより最大36倍高速

アプリケーションの性能比較 App VMとLinux VMでの実行性能を測定 App VMの方が高性能 仮想化のオーバーヘッドをライブラリOSにより低減 ネットワークとメモリ処理の最適化 単一アドレス空間の利用 ■ App VM (OSv) ■ Linux VM

関連研究 Xok/ExOS [Kaashoek et al. ’97] Graphene [Tsai et al. ‘14] Exokernel上でBSD互換のライブラリOSを提供 マイグレーションは考えられていない Graphene [Tsai et al. ‘14] Linux互換のライブラリOSでマルチプロセスを実現 ホストOSの脆弱性の影響を受けやすい Zap [Osman et al. ’02] OSレベルの仮想化でアプリケーションをマイグレーション アプリケーション間の隔離は弱い

まとめ クラウドにおけるインスタンス構成の動的最適化を可能にするシステムFlexCapsuleを提案 今後の課題 各アプリケーションを軽量なApp VM内で実行 VMマイグレーションによるダウンタイム削減 VM間の強い隔離によるセキュリティ確保 インスタンスにまたがる実行環境の構築 今後の課題 FlexCapsule OSとOSサーバへの機能追加 プロセス間通信、exec関数など アプリケーション性能の向上 ネストした仮想化のオーバーヘッドの低減