元RX-7乗りの適当な日々 このページをアンテナに追加 RSSフィード Twitter

RX-7(FD3S)WRX STI関連のキーワードで検索されて来られた方へ。
右サイドのカテゴリ『』をクリックすると関連する項目だけが表示されます。
日々の写真は『Flickr』で公開しています。

2009/01/11

Windows Server on Amazon EC2

わずか5分でWindows Serverを準備する(動かす)方法 (Windows Server on Amazon EC2)


先日、SLAが発表され、正式版(Production)となった"Amazon EC2"ですが、それと同時にベータ扱いではありますが、"Windows Server"へ対応したとのことなので、試してみることにしました。


これまでAmazon EC2上で稼動できるOSは、Linuxがメインで、中にはベンダーが保守もしてくれるRedHat Enterprise LinuxやOracleが稼動するAMI(Amazon EC2の仮想OSイメージ)もあったのですが、Windowsが正式に動くこととなり、利用シーンの幅がより大きく広がったのではないでしょうか。

# あ、Linuxだけではなくて、OpenSolarisもありましたね。


というわけで題して、何もないところから5分でWindows Serverを動かすところまで、やってみます。このエントリでは、その方法をチュートリアル形式で紹介します。


前提・制約

さて、やや釣り気味のタイトルではありますが、実体はクラウドコンピューティング(Amazon EC2)を活用することになるため、もちろん何もない状態から5分で起動するためには、以下の前提や制約があります。


  • インターネットに接続できること、インターネット上にサーバを稼動させる環境となること
  • Amazon Web Servicesのアカウントを取得(無料で取得できます)し、EC2の利用申請をしていること
  • Amazon EC2で稼動させるWindows Serverが現状では英語版となってしまうこと

と、こんなところです。それでも興味をお持ちの方は、もうしばらくお付き合いください(^^)

追記

このWindows Serverの日本語化を以下エントリで紹介しました。あわせてご覧ください。

Amazon EC2のWindows Serverを日本語化する方法


ちなみに、Amazon Web Servicesのアカウントの取得方法などは、以下あたりで紹介しています。

こちらも5分もかからない内に、すぐに取得できますので、よろしければどうぞ。


利用料金について

Amazon EC2上でWindows Serverを使う場合も、従来のLinux等のAMIを使う場合と同様で完全従量課金制となります。クラウドっぽくて良いですよね。

とはいえ、Windowsは有償ライセンスですので、従来の価格体系より若干割高な設定となっています。

料金体系については、以下のAmazon EC2の公式サイトに記載があります、


抜粋すると、以下のような感じとなります。

http://farm4.static.flickr.com/3409/3184754473_098222b70a_o.png

デフォルトの最も小さい"Small Instance"では、Linuxを使う場合と比べて25%増しとなる「$0.125/hour」となっています。SQL Serverも利用する場合は、Instance Typeが"Standard Large"からの利用となっています。


次からは、いよいよ手順を紹介していきますが、今からWindows Serverを動かすまでの作業は5分程度です。

このように、ちょっと試すだけであれば、かかる費用は上記に従って、$0.125。せいぜい十数円程度です。気軽に試せますよね。

ここがAmazon EC2をはじめとした、クラウドコンピューティングの魅力の1つです。


"AWS Management Console"を利用して作業開始

昨日のエントリ『Amazon EC2をブラウザから管理・操作できる「AWS Management Console」』にも書きましたが、Amazon公式で、ブラウザからAmazon EC2の管理・操作ができるようになりました。

せっかくなので、これらの使い方の紹介も兼ねて、こいつを使ってみようと思います。


まずは、以下のリンク先(AWS Console)へアクセスします。

https://console.aws.amazon.com/


http://farm4.static.flickr.com/3497/3185599166_5cae50c38e_o.png

まず、オーバービューの画面が表示されますので、上部の"Amazon EC2"タブをクリックします。

まだAWSへログインしていない場合は、認証画面が表示されますので、AWSのアカウントIDとパスワードを入力してログインしてください。


http://farm4.static.flickr.com/3451/3184754833_b27655c265_o.png

Amazon EC2のダッシュボードです。ここで様々な情報が管理可能です。


秘密鍵の生成

これから、インスタンスへのアクセスや暗号化に用いられる秘密鍵の生成を行います。


http://farm4.static.flickr.com/3438/3184754903_a3fd7dd644_o.png

左サイドのメニューより"Key Pairs"をクリックした後、"Create Key Pair"をクリックします。


http://farm4.static.flickr.com/3316/3184754947_f8d0bf6c67_o.png

鍵の名前となる任意の文字列を入力し、"Create"ボタンをクリックします。上記例では「windows」と入力しました。


http://farm4.static.flickr.com/3423/3184755013_e299d4e714_o.png

秘密鍵のダウンロードが開始されます。ローカルに保存しておきましょう。あとで使います。


セキュリティの設定

Windows Serverへは、リモートデスクトップ接続でのアクセスとなるため、RDPで使うポートへのアクセスを可能とする設定を行います。


http://farm4.static.flickr.com/3473/3184755089_8d641f2275_o.png

左サイドのメニューより"Security Groups"をクリックした後、はじめから存在する"default"グループにチェックを入れ、下部にある設定から、上図の要領で"RDP"を選択します。


http://farm4.static.flickr.com/3329/3185599586_6e370ba926_o.png

"RDP"を選択したら、"Save"ボタンをクリックします。


ここまでの設定は、一度やっておくと使い回しが可能となるので、二回目からは以降のオペレーションだけでも可能です。


インスタンス(仮想サーバ)の起動

それでは、実際にWindows Serverが動くインスタンス(仮想サーバ)を起動してみます。


http://farm4.static.flickr.com/3489/3185599650_910885475a_o.png

左サイドのメニューより"Instances"をクリックした後、"Launch Instances"をクリックします。

既に1つ以上のインスタンスを起動している場合は、左上にも同じボタンがあるので、そちらをクリックしてください。


http://farm4.static.flickr.com/3535/3184755329_e59cafb73b_o.png

インスタンス起動のウィザードが開始されます。

ここでは、Amazonが用意した様々な仮想OSイメージ(AMI)が表示されます。Windows Serverも、SQL Serverも同梱したものなど、様々な種類がありますが、今回はお試しということで、一番お安い普通の32ビットプラットフォームの"Basic Microsoft Windows Server 2003"にしてみます。右部にある"Select"ボタンをクリックします。


http://farm4.static.flickr.com/3261/3184755401_245a3768f5_o.png

次に、セキュリティの設定ですが、先ほど設定したデフォルトの設定を使いますので、ここでは"Skip this"をクリックします。

もし、独自で設定した他のセキュリティグループを使いたい場合は、この箇所で設定してください。


http://farm4.static.flickr.com/3462/3185599978_6f8e8a73b6_o.png

"Number of Instance"の部分は、何台のインスタンスを起動するかの設定ですので「1」を入力します。

"Key Pair Name"のところは、先ほど秘密鍵の設定で入力したものを選択します。(このエントリの例では「Windows」となります。)

で、最後に"Launch"ボタンをクリックします。


http://farm4.static.flickr.com/3412/3184755565_bfcca5e124_o.png

これで、インスタンスが起動開始です。"Close"ボタンをクリックしてください。

尚、OSの起動と同じですので、起動するまでは若干の時間がかかります。インスタンスのStatusが、"running"になると起動完了です。


サーバへの接続情報を取得

次に、サーバに接続するための情報を取得します。


http://farm4.static.flickr.com/3509/3185600144_ab627360b4_o.png

まずは、パスワードを取得します。

インスタンス一覧のところに、先ほど起動したWindows Serverが乗ったインスタンスがある(Instance列に、Windowsのロゴがついたものがあるはず)と思うので、その行にチェックを入れ、上部から"Password"ボタンをクリックします。

尚、起動後すぐはパスワードを生成できないようですので、ここでコーヒーでも作りながら2〜3分待ちましょう。(5分のうち、この待ち時間が一番長いw)


http://farm4.static.flickr.com/3449/3185600208_ee0c8b2e11_o.png

早くアクセスしすぎると、こんな感じで、2〜3分待て、と言われちゃいます。


http://farm4.static.flickr.com/3507/3184755809_0a35213164_o.png

2〜3分待ってから"Password"ボタンをクリックすると、上図のような画面が出ると思います。

ここの"Private key"の部分に、秘密鍵を生成したときにダウンロードしたファイル(拡張子が".pem"のファイルです。このエントリの例では"Windows.pem"ファイルです。)の中身の文字列("-----BEGIN RSA PRIVATE KEY-----"から始まる文字列)を全てコピーして、貼り付けましょう。

貼り付けた後、"Decrypt Password"ボタンをクリックします。


http://farm4.static.flickr.com/3507/3184755899_386d251463_o.png

すると、こんな感じで、Administratorアカウントのパスワードが表示されますのでメモって覚えておきましょう。


http://farm4.static.flickr.com/3092/3184755967_c319f97eab_o.png

次に、また同じようにWindows Serverのインスタンスを選択している状態で、上部の"Connect"ボタンをクリックします。


http://farm4.static.flickr.com/3091/3184756029_034a38e6d5_o.png

すると、サーバへの接続方法を説明したウィンドウが表示されます。

ここでは、便利なショートカットを使って接続するべく、"Download shortcut file"のリンクをクリックして、サーバにワンクリックで接続できるショートカットファイルをダウンロードします。


Windows Serverのインスタンス(仮想サーバ)に接続

それでは、Windows Serverにリモートデスクトップ接続してみましょう。

先ほど、ダウンロードしたショートカットファイルをダブルクリックします。


http://farm4.static.flickr.com/3417/3185600612_36d4ea1f34_o.png

"接続"をクリックします。(必要に応じて"詳細"からオプションを選択してください。)


http://farm4.static.flickr.com/3125/3185600698_c0b32edae5_o.png

"はい"をクリックします。オレオレ証明書なので警告はやむなし、ですね。


http://farm4.static.flickr.com/3353/3185600774_7d9ef03664_o.png

ログイン画面が表示されました!

"User name"に、「Administrator」と入力、

"Password"に、先ほど取得したパスワードの文字列を入力してください。


http://farm4.static.flickr.com/3111/3185600844_c33439c4d9_o.png

ログインできました!となるはず。

これで、貴方だけのWindows Serverが動き始めました。何でもインストールしたり設定したりすることが可能です。どれだけ使っても、(smallインスタンスであれば)1時間ごとに十数円払うだけです。

ただし、現状では英語版のOSなので、日本語が使えません・・・。このあたりは今後に期待ですね。


起動したWindows Serverの情報

ちょっとおまけで、起動したWindows Serverの情報を少し紹介します。


http://farm4.static.flickr.com/3122/3185601150_3798b4a9b2_o.png

システムのプロパティです。

現在、動かすと、"Windows Server 2003 R2 Datacenter Edition Service Pack 2"のようですね。


http://farm4.static.flickr.com/3115/3184756481_96c6763ffb_o.png

起動直後に動いているプロセスです。(タスクマネージャ)


http://farm4.static.flickr.com/3106/3184756429_a76cd85d8e_o.png

起動直後のリソース使用量です。(タスクマネージャ)


http://farm4.static.flickr.com/3502/3185600896_30500d47c1_o.png

パーティション、およびディスクスペースの状態です。まぁ、このくらいですかね。


http://farm4.static.flickr.com/3450/3184756539_f67135be46_o.png

初期状態でインストールしてあるものです。

"Red Hat Paravirtualized Drivers"と書かれてあるあたり、このWindows Serverも、他のLinux等のAMIと同じく、Xenの「Para Virtualization(準仮想化)」で動いているみたいですね。

パフォーマンスもそれなりに期待できそうです。


Windows Server(インスタンス)を停止する方法

それでは、使い終わった後などに、インスタンスを停止する方法を説明しておきます。

動かしっぱなしだと、ずっと課金されちゃいますからね。方法は簡単です。


http://farm4.static.flickr.com/3451/3184756645_4d4a5bdc0c_o.png

また同じようにWindows Serverのインスタンスを選択している状態で、上部の"Terminate"ボタンをクリックします。


http://farm4.static.flickr.com/3458/3185601298_dff4734208_o.png

確認画面が出ますので、確認の上、"Yes, Terminate"をクリックします。


http://farm4.static.flickr.com/3502/3185601362_c54b7e3ce4_o.png

インスタンスのStatusが、"terminated"に変わったら停止完了です。


まとめ

正直、このエントリを読みながら初めての操作ですと、5分で・・・というわけにはいかないかもしれませんが、手馴れてくると5分くらいで一連の流れは完了すると思います。

AWS Management Console」の出来の良さも手伝って、はじめての方でも非常に操作しやすいかと思います。Amazon EC2自体の概念の理解は多少必要となりますが・・・。

もちろん、5分で稼動可能になるのはWindows Serverだけではありません。LinuxやOpenSolarisも同様です。

# Linuxだと、5分もかかりません。1〜2分で稼動可能になります!


私も先日直面したのですが、急にWindows Server上でアプリケーションの稼動確認などをしたくなった場合、サーバを買ってきて設置して、OSも買ってきてインストールして・・・の流れは、非常に時間がかかります(注文〜納入〜設置〜構築)し、Windows Serverの購入コストも馬鹿になりません。

それに引き換え、今回のやり方だと、即OS稼動する上に、僅かなコスト(時間、金)だけで済みます。


Amazon EC2を使うと、このような流れで即座にあらかじめ用意されているOSがインストールされた状態から、使い始めることが可能となります。あらかじめ用意されているOSも非常に豊富ですし、もちろん自分のオリジナルのイメージも作成可能です。


尚、Amazon EC2についての詳説は、以下リンク先にて紹介していますので、ご参考までにどうぞ。



まとめ


須山須山 2009/01/12 08:24 サーバがアメリカにあるので,ネットワークの遅延が大きいので,リモートデスクトップの操作が実用的なのかどうか興味があるのですが,その辺はいかがでしょうか。全く問題ないレベルで使用できるのでしょうか?

rx7rx7 2009/01/12 15:15 そうですね。もっともな懸念かと思います。
私が操作してみた体感では、さほど気になるレベルではありませんでした。
確かにイントラネット内と同様に、、、というわけにはいきませんが、十分に操作できるレベルです。

# 私ももう少し遅いんじゃないだろうか、と思っていたくらいです。

まる丸さんまる丸さん 2009/04/29 10:59 完璧なステップガイドを作っていただいたおかげであっという間にサーバー起動ができました。ありがとうございます。

リモートデスクトップでの操作も私がイメージしてたよりずっと快適でした。

トラックバックもさせていただきました。

rx7rx7 2009/04/29 13:22 お役に立てたようで何よりです。
日本でも使えるようになればもっと快適になると思いますので、どんどん日本でも活用していきたいのです!
トラックバックもありがとうございました〜(^^)

ss 2009/05/31 22:25 私も同じ作業をしてみました。

bundlingからstoringまで20分ぐらいかかりました。
bundlingの際にRDPが切断されることが書いてあると
初めての方は安心するんじゃないかなと感じました。

非常に参考になりました。ありがとうございます。

rx7rx7 2009/06/02 22:13 コメントありがとうございます!
適切な場所(エントリ)に追記しておきますね。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。


オススメ (一部は、最近読んでいる本とも言う)
Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus) クラウド Amazon EC2/S3のすべて~実践者から学ぶ設計/構築/運用ノウハウ~ [Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ) エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド [24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用 Linux-DB システム構築/運用入門 (DB Magazine SELECTION) キャパシティプランニング ― リソースを最大限に活かすサイト分析・予測・配置 スケーラブルWebサイト 実践ハイパフォーマンスMySQL 第3版 ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE) SQLアンチパターン インターネットのカタチ―もろさが織り成す粘り強い世界― ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化 Linuxの教科書―ホントに読んでほしいroot入門講座 (IDGムックシリーズ)