EC2のWindowsインスタンスを使う

数年前から社内のサーバはVMware ESXiに集約するようにして、台数が減ってだいぶ楽になったとはいえ、物理サーバのお守りは極力やりたくないのが正直なところです。ということで、今回の震災を契機に社内業務で使っているWindowsサーバもEC2に移行できないかと調査しています。EC2でなくても、ニフティクラウドでもAzureでもさくらインターネットでもよいのですが、価格と機能のバランスを考えるとEC2が優れているように思いますし、今後ますますEC2と他のサービスの差は広がるのではないかと思います。

まとめ

EC2を使うにあたって理解しておいたほうがよい点や私が間違って覚えていた点。

インスタンスもElastic Block Store(EBS)に保存できる
かつては、インスタンスをシャットダウンするとデータが消えてしまうので、保存したいデータは別の領域(Elastic Block Store)に保存しておかないといけない、という制約があったようですが、現在はインスタンスをEBSに保存できるのでそのままインスタンスを停止しても大丈夫でした。

Web管理コンソールからひと通りの操作ができる
コマンドラインツールでインスタンスを操作している情報が多いですが、AWS ConsoleというWeb管理コンソールが充実しているので、ほとんどコマンドラインから操作をしなくても大丈夫です。ただ、スナップショット設定のようなスケージュール処理のためにはコマンドラインは使えたほうがよいですが。

割り当てられるグローバルIPは固定ではない
割り当てられるIPアドレスは固定ではありません。インスタンスを停止すると割り当てられるIPアドレスは解放されます(再起動はOK)。固定IPを使用する場合にはElastic IPというサービスを利用してあらかじめ確保したIPアドレスと紐付ける必要があります。Elastic IPで確保したIPはインスタンス停止中も課金されます。

Windowsのライセンスは不要
EC2の利用料金に含まれているので別途Windowsのライセンス料は不要です(Datacenter Editionです)。その分Linuxインスタンスより割高です。ただ、インスタンスを停止している間は費用は発生しないので、業務時間中のみ起動しいればよいサーバであれば、自前のライセンスを購入するよりも経済的かもしれません。SQL Serverのライセンスについては後述。

デフォルトで日本語が使用可能なWindows AMIもある
少し前の情報だと、英語版のWindowsにCDから日本語のリソースファイルをインストールして...という情報が多いですが、Windows 2008R2ならばデフォルト日本語のAMI(OSのイメージ)が利用可能です。それ以外でもリソースファイル自体がインストールされたAMIもあるので、設定変更のみで日本語が使用可能です。

Windowsだとリージョンをまたいだインスタンスの移動が面倒っぽい
Linuxに比べ情報が少ないです。東京のデータセンターで動作するインスタンスをシンガポールに移すということはあまり簡単ではなさそうです。

Windowsインスタンスインスタンスタイプと料金

選択できるインスタンスタイプは、アーキテクチャ(x86 or x86_64)によって異なります。特にx86(i386)を選ぶとCPUに関してしては5ECU (EC2 Compute Unit)まであげられても、メモリは1.7GBまでしかあげられません。一方で、x86_64の場合にもMicroインスタンスの次がLargeインスタンスになり、smallインスタンスがありません。アーキテクチャの異なるインスタンスタイプには変更できないので、初期の段階で見極める必要があるので選択が難しいです。完全従量制なので、すでにインスタンス上で稼動させたいアプリケーションがあれば、試しにインスタンスを起動してテストしてみるのがよいです。利用者が少なければmicroインスタンスでも結構使えると思います。


東京リージョンでのWindowsインスタンスの料金です(このエントリ作成時点)。また、長期で稼動させるサーバであれば、リザーブドインスタンスという年契約をすると、時間単価が少し下がります。

インスタンス 利用料 使い続けたときの月額(80円/$換算)
マイクロ $0.035/時 約2000円/月
スモール(デフォルト) $0.12/時 約7100円/月
ラージ $0.48/時 約28500円/月

Amazon Elastic Compute Cloud (Amazon EC2)

SQL Serverについて

Windowsインスタンスを使う理由としてSQL Serverを使いたいということが多いと思います。EC2ではSQL Server StandardとExpress Editionがインストール済みのインスタンスが用意されています。ただし、Standard Editionを利用する場合の料金は、ラージインスタンス以上が必要になるため $1.14/時 と割高でリザーブドインスタンスも使えません。

Microsoft Windows Server and SQL Server (Beta) を実行する Amazon Elastic Compute Cloud

また、すでに所有しているSQL ServerのライセンスをEC2上で使用することもできないようです*1。コストに見合わない場合にはExpress Editionで動作するようにシステム側を変更することを考えたほうがよいかもしれません。

*1:物理サーバを他ユーザと共有する形態ではということなので、Amazon EC2 Dedicated InstancesではOKかもしれませんが