仮想化の基礎知識

by Canonical on 5 October 2023

情報技術が急速に進化を続ける現在、企業がリソースを最大限に活用し、柔軟性を高め、総所有コスト(TCO)を削減するには、仮想化がやはりコンピューティングの基盤となります。仮想化はクラウドコンピューティングのパラダイムの重要な構成要素であり、世界中で何百万もの組織が日常的に使用しています。AWS、Azure、Google、OpenStackなど、すべての既存のクラウドプラットフォームが仮想化を使用しています。近頃はコンテナのような他の最先端技術が優勢ですが、仮想化は依然としてほぼすべての企業にとって重要な技術です。

このブログ記事では、仮想化の概念を解説し、仮想化が世界中の組織にもたらす利点を検討します。また、簡単なプラットフォームで仮想化を実際に体験していただけるようお手伝いします。

仮想化の詳細

根本的には、仮想化とはハードウェア層からコンピューティングリソースを抽象化することであり、リソースを完全に分離して複数の仮想環境を1つの物理マシン(ホスト)上で同時に実行します。これらの仮想環境は仮想マシン(VM)またはゲストと呼ばれ、独自のオペレーティングシステム、カーネル、アプリケーションを持つ自己完結型エンティティとして機能します。

簡単に言えば、仮想化では物理的なマシンの仮想コピーを作成するのです。たとえばサーバー、デスクトップ、携帯電話や、ファイアウォール、ルーター、ゲートウェイなどのネットワーク機器です。

オープンソースの仮想化スタック

ハイパーバイザーは、仮想化技術の重要な構成要素です。ハイパーバイザーとはハードウェアとVMの間に位置するソフトウェア層であり、リソース割り当て、スケジューリング、通信を管理します。さまざまな市販ハイパーバイザーの中で、Ubuntu KVM(カーネルベースの仮想マシン)は費用対効果に優れ、インフラストラクチャのエンジニアに堅牢な仮想化機能を提供します。Ubuntu KVMはLinuxカーネルとネイティブ統合しているため、各種のゲストオペレーティングシステムとの相互運用性を確保しつつ、十分なパフォーマンスを保証します。

仮想化の利点

仮想化はあらゆる規模の組織に多くの利点をもたらすため、インフラストラクチャの最適化を求める意思決定者に人気です。仮想化には主に次のような利点があります。

  • コストの削減 – 仮想化の主な利点の1つは、複数のワークロードを1つの物理ホストに統合できることです。この結果、ハードウェアのコスト、データセンターの必要なスペース、エネルギー消費が削減され、コストの削減につながります。
  • リソースの分離 – VMは相互におよびホストシステムから分離されるため、セキュリティと安定性が強化されます。このような分離によってソフトウェアの競合が抑制され、1つのVMで発生した問題が他のVMに影響を与えません。
  • 柔軟性と拡張性 – VMは設定、変更、削除が簡単であり、変化するワークロードに対して迅速な拡張性と適応性を実現できます。このような機敏性は、開発やCI/CD(継続的インテグレーション/継続的デリバリー)のような動的な環境において非常に重要です。
  • スナップショット取得とクローン作成 – 仮想化によってユーザーはいつでもVMのスナップショットを取得でき、システム障害が発生した場合にはバックアップとリカバリを迅速に実行できます。VMのクローンを作成するとテンプレート作成プロセスがさらに簡単になり、同一のインスタンスをいくつも作成できます。

仮想化とコンテナ化

Kubernetesのようなコンテナ化技術が成長する中、仮想化とコンテナ化の違いや、目的に応じた両立の方法を理解することが不可欠です。

仮想化では、1つのホストマシン上で、それぞれ専用のOS、カーネル、仮想ハードウェアを備えた複数のVMを実行します。各VM間が完全に分離されるため、さまざまな要件や厳格なセキュリティ上の義務があるアプリケーションに適しています。

一方、コンテナ化はOSレベルで抽象化を行い、複数のコンテナが独立したランタイム環境を維持しながら同じホストOSカーネルを共有することを可能にします。コンテナは軽量で、起動が速く、VMよりもリソース消費が少ないため、マイクロサービスや最新のクラウドネイティブアプリケーションに最適です。

仮想化(左側)とコンテナ化(右側)

コンテナのほうが適したシナリオもありますが、多くの用途ではやはり仮想化が便利です。以下にご紹介しましょう。

  • レガシーアプリケーション – 仮想化によって、多額の投資を行わなくても、クラウドネイティブの原理に基づく再構築ができないモノリシックなレガシーアプリケーションを実行できます。
  • 混合ワークロード – レガシーアプリケーションと最新のアプリケーションが混在する場合、VMはこれらの多様なワークロードを効率的に管理します。
  • 大量のリソースが必要なワークロード – データ分析や高性能コンピューティングなど、大量のリソースが必要なアプリケーションは、VMが提供するリソース分離機能の恩恵を受けることができます。

Sunbeamで仮想化に挑戦

さて、仮想化の基本的な原理を理解したところで、実際に仮想化を試してみましょう。仮想化の利点は、堅牢なクラウドプラットフォームとの組み合わせで最も明確に感じられます。以下に、OpenStack Sunbeamを簡単にUbuntuマシンにインストールする手順を説明します。OpenStackは世界で非常に人気の高いオープンソースクラウドプラットフォームであり、Sunbeamは最も簡単にOpenStackを使い始めるための方法です。

まずは、4コア以上のAMD64 CPU、16 GBのRAM、50 GBのストレージを搭載し、最新のUbuntu Server LTSがインストールされている新しい物理マシンまたは仮想マシン(もちろん仮想化を入れ子にできます)を手に入れましょう。次に、以下の説明に従ってください。

OpenStackのインストール

OpenStackをインストールするには、次のコマンドを実行します。

$ sudo snap install openstack

依存ファイルのインストール

すべての必要な依存ファイルをインストールするには、次のコマンドを実行します。

$ sunbeam prepare-node-script | bash -x && newgrp snap_daemon

クラウドのブートストラップ

クラウドをブートストラップするには、次のコマンドを実行します。

$ sunbeam cluster bootstrap --accept-defaults

このコマンドは、終了まで時間がかかります。しばらく待ちましょう。

クラウドの構成

クラウドをデフォルトオプションで構成するには、次のコマンドを実行します。

$ sunbeam configure --accept-defaults --openrc demo-openrc

より高度なシナリオについては、インストールガイドを参照してください。

VMの起動

最初のVMを起動するには、次のコマンドを実行します。

$ sunbeam launch ubuntu --name test

サンプル出力:

Access instance with `ssh -i /home/ubuntu/.config/openstack/sunbeam ubuntu@10.20.20.16`

この時点で、VMにSSHプロトコル経由でアクセスできる必要があります。VMに接続するには、出力からコマンドを実行します。

$ ssh -i /home/ubuntu/.config/openstack/sunbeam ubuntu@10.20.20.16

これで完了です。VMに接続されました。通常のシェルコマンドを使用して、さまざまなタスクを実行できます。

$ uptime
11:08:36 up 2 min,  1 users,  load average: 0.05, 0.05, 0.01
OpenStackダッシュボード

次のステップへ

仮想化は現在も引き続き重要な技術であり、さまざまな種類のワークロードに対して高度な柔軟性、リソース効率、完全な分離環境を提供します。KVMハイパーバイザー、OpenStack、Sunbeamなどの適切な技術の組み合わせにより、Ubuntuは費用対効果の高い実運用グレードのアグリゲーションプラットフォームとして機能し、企業が手間をかけずに自社のインフラストラクチャで仮想化の真の可能性を活用できるようにします。

使いやすい仮想化ツールで新しい領域を開拓したい場合:

ニュースレターのサインアップ

Ubuntuニュースレターの配信登録

お客様が購読登録を行われる場合、以下の条件に同意されたことになります。Canonicalのプライバシーに関するお知らせ個人情報保護ポリシー

関連記事

まだCentOSをお使いの方に伝えたい6つの事実

CentOS 7が2024年7月にEoL(サポート終了)を迎えることは、2020年に発表されました。もうその日は過ぎましたが、CentOSが世界から消えたわけではありません。さぞユーザー数が減っただろうと思いきや、データによれば、企業の22%がCentOSの使用を継続しています。 これは少し意外です。CentOS 7のEoLが過ぎたにもかかわらず、多くの組織がまだ新しいシステムへの移行を迷っています。しかしCentOSのユーザーは、移行を先送りすればするほど、CentOS環境のセキュリティと機能の維持が難しくなるという事実を直視する必要があります。使い続けたいかもしれませんが、月日とともに依存関係が崩れ、手動でのパッチ適用作業が増え、スタックのあちこちに非互換性が生じます […]

SBI BITSとCanonical:OpenStack 導入と6年間の進化の物語

SBI BITSとCanonicalのパートナーシップは、SBIグループのITインフラを進化させ、事業継続性を確保しながら顧客満足度を向上させる成功事例として注目されています。本記事では、2018年のOpenStack/Ceph導入から6年にわたる協力の軌跡をたどります。 第1フェーズ:OpenStackの採用と初期導入 (2018年) 2018年、SBI BITSは従来の仮想化技術からOpenStack/Cephへの移行を決定しました。SBIグループ全体にITインフラを提供するSBI BITSは、リソースを迅速かつ効率的に配分する能力が求められていました。その解決策として選ばれたのが、CanonicalのOpenStack/Cephです。 この選択の理由は、以下の点にあ […]

SBI BITSとCanonicalの成功事例:シームレスなOpenStack移行の軌跡

事業継続性を確保したITインフラの進化 2015年に設立されたSBI BITSは、日本の大手金融サービスグループであるSBIグループのITインフラを支える存在です。SBIグループには、日本最大のオンライン証券会社、主要なベンチャーキャピタル会社、最先端の長期信用銀行が含まれています。SBI BITSはCanonicalとの6年以上にわたる提携を通じ、事業規模を拡大しつつ顧客満足度を大幅に向上させてきました。 Canonicalのコンサルティングとサポートサービスのおかげで、SBI BITSは複数のOpenStack環境を迅速に導入し、段階的な移行戦略を構築することで、事業の中断を最小限に抑えました。Canonicalの専門的なサポートにより、導入時間が50%以上短縮され、 […]