AWSが使用しているXenの動作について

はじめに

AWS ではXen というソフトウェアを用いることで動作しています。本記事では、まずXen についての解説をした後、仮想化の様々なタイプについての説明、Xen のメリットについて解説していきます。

Xen とは

AWS ではXen 使用されていますが、まずXenとは何か?について説明していきます。Xen は仮想マシンモニタの一種で、コンピュータのハードウェア資源を一括して管理し、一部をOS に組み合わせた仮想マシンです。Xen はハイパーバイザーとゲストOS の2つのコンポーネントから構成されます。ハイパーバイザーは、Xen の中核となるコンポーネントであり、ハードウェアへのアクセスを統合管理しております。ゲストOS の切り替えと、ユーザのアクセスなども管理し、ゲストOS には、完全仮想化と準仮想化の2つのモードで動作を行います。完全仮想化は、CPU の仮想化支援機能を使って動作をするモードで、準仮想化はCPU の仮想化支援機能を使わずに動作できるモードです。

仮想化のタイプ

まず、サーバーの仮想化には様々なメリットがあります。1つ目は設置スペースを削減できること、2つ目にリソースを有効活用できること、3つ目に新しいサーバーを用意しやすいこと、4つ目がBCP対策の実現、最後に最新のハードウェアを活用できる点が上げられます。そしてこの仮想化技術には「ホスト型」と「ハイパーバイザー型」が存在します。その2つについて下で解説していきます。

ホスト型

ホスト型とは、OS上に土台となるソフトウェアをインストールし、そのソフトウェアで仮想マシンを作成し実行するという方法です。これによって、仮想化のための専用のOSを用意する必要がないため、アプリケーションと同じように使用できるというメリットがあります。ですが、ハードウェアへアクセスするにはホストを経由しなければならず、余計なオーバーヘッドがかかるため十分な性能が出ないというデメリットがあります。

ハイパーバイザー型

ハイパーバイザー型とは、サーバーへ直接インストールを行い仮想化ソフトを起動して実行するという方法です。AWS で使われているXen はこのハイパーバイザー型です。ホストOSの機能を使わずにハードウェアを直接制御することが可能で、ホスト型に比べるとオーバーヘッドが小さく済みます。これにより、パフォーマンスを必要とするサーバーの仮想化や、複数の仮想マシンを効率良く稼働させる事ができるというメリットがあります。

Xen のメリット

さて、今まで仮想化について話してきましたが、ついに本題となるXen について解説していきます。まずXen を導入すると様々なメリットがあります。
1つ目は運用コストの削減です。業務などの用途で多数のサーバーを管理している場合、Xenを使いサーバー統合することでコストを削減するということが考えられます。要因として、サービスが成長することでシステムが大規模化してしまい、膨大な数のサーバー群のコストが増大してしまう事が挙げられます。サービスのレベルを維持しつつ、少しでもコストを削減するための手段として、このXen などの仮想マシン環境の導入が考えられています。
2つ目はサービスの独立性の維持です。サーバー統合を行い1台のマシンに複数のサービスを集約した場合、物理的に統合しつつサービスはお互い影響を受けないようにしようと考えると思います。さらに、1つのサーバー上で多数のサービスを提供している場合でも、1つ1つのサービスの独立性を高めようとします。そのような場合にXen では、各サービスに1つの仮想マシンの環境を割り当てることによって、これらの問題が解決することが出来ます。
3つ目は可用性の向上です。メンテナンスを行う際、停止前に物理マシン上で動いている仮想マシンを別の物理マシンに移すことが可能で、仮想マシン上のサービスは停止することなくサービスを提供し続けることが出来ます。
4つ目は柔軟性の向上です。仮想マシンは独立した資源を持っています。この資源の配分が可能で、ニーズに応じて適切な資源を無駄なく割り当てることが出来ます。また、1つの仮想マシン上のサービスが高負荷になった場合でも、他の仮想マシン上で動作するサービスには影響を与えることはありません。
最後にセキュリティの向上です。仮想マシンは先ほど説明したとおりお互いに隔離されています。そのため、ある仮想マシンで動作する有害なソフトウェアが、他の環境や仮想マシンに悪影響を与えることはありません。
以上、これらの5つのメリットがXen の強みと言えます。

まとめ

今回AWS が使用しているXen の動作について解説いたしました。仮想化のタイプには様々あり、それぞれメリットが存在します。その中でもXen は優れている点が多いです。AWS は現在KVM ベースのハイパーバイザを採用しつつあります。ですが、AWS の巨大な仮想マシン群を現在支えているのはXen ベースのハイパーバイザなので、完全に使われなくなるのは当分先のことだといえるでしょう。新しいハイパーバイザに切り替わると更に性能が良くなると予想されるため、AWS の今後に期待していきたいです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です