前回はAWS上に仮想マシンを起動するための下準備として、Amazon VPC(Virtual Private Cloud)を用いて仮想ネットワークを設計する方法を解説しました。続いて、仮想ネットワーク上で仮想マシンを起動していきます。

 今回は、仮想マシンを構築するうえで必要な知識として、13種類あるEC2(Elastic Compute Cloud)のタイプと特性、OSやソフトを格納するストレージについて解説します。

物理サーバーと同様に使えるEC2

 AWSの仮想マシンサービスEC2によって構築した仮想マシンを、「EC2インスタンス」あるいは省略して「インスタンス」と呼びます。EC2インスタンスは、AWSが提供する独自仕様のサーバーではなく、見掛けは従来の物理サーバーと類似しています。WindowsやLinuxといったOSを使用でき、従来の物理サーバー同様に、これらのOS向けのミドルウエアやアプリケーションを稼働させることができます。

 EC2インスタンスはIPアドレスを持っており、インスタンスへの接続についても物理サーバー同様、SSH(Secure Shell)やRDP(Remote Desktop Protocol)といった通常の方法が使えます。

 物理サーバーと違う点は、調達のスピードです。物理サーバーの調達には一般に数週間を要しますが、EC2インスタンスは数回のクリックまたはシンプルなAPIコールで、インスタンスを1台または複数台同時に起動できます。起動の所要時間は、OSの種類や起動時に実行されるスクリプトなどにより異なり、通常は数分です。

 EC2インスタンスが不要になったら、終了することもできます。課金額は使った時間に基づいて算出されるので、終了すれば課金されません。

仮想マシンのソフトウエア構成イメージAMI

 EC2インスタンスは、ソフトウエア構成(OS、ミドルウエア、アプリケーションなど)を記録したテンプレートであるAMI(Amazon Machine Image)から起動します。1個のAMIから1台でも数千台でも任意の数のインスタンスを起動できます。

 ただし、各リージョンのインスタンスタイプごとに、EC2インスタンスの起動台数に制限が設けられています。制限緩和を申請することで、希望の台数のインスタンスを起動できるようになります。制限はマネジメントコンソールから確認でき、制限緩和の申請もそこから行えます。

 AMIとしては、Windows 2003、2008、2012、Red Hat、SUSE、Ubuntu、Amazon LinuxといったポピュラーなOSを含んだものが用意されています。それらから選択するだけで、必要なOSを搭載したEC2インスタンスを起動できます。

 起動したEC2インスタンスは、ユーザーが完全に制御できます。WindowsであればAdministratorとしてログインできますし、Linuxであればsudoを使用してルート権限を必要とするコマンドを実行可能です。

 ユーザー独自のカスタムAMIを作成することもできます(図1)。例えばコーポレートサイトを構築するため、Amazon Linux AMIを使用したEC2インスタンスにWebサーバー(Apache)、データベースサーバー(MySQL)、PHPをインストールし、コーポレートサイトの静的コンテンツ、動的ページ向けコードを展開。EC2インスタンスを起動させ、Webサーバー、データベースサーバーが立ち上がり、アプリケーションがリクエストを受け付けるように設定したとします。

図1 標準AMIを基にしたカスタムAMIの作成と、EC2インスタンスの起動
図1 標準AMIを基にしたカスタムAMIの作成と、EC2インスタンスの起動
[画像のクリックで拡大表示]

 この状態のEC2インスタンスのAMIを作成しておけば、故障が発生した際に、すぐそのAMIを使用して代わりのEC2インスタンスを起動できます。独自AMIを作成することにより、システムの可用性と耐障害性を高められます。