Amazon EC2でサーバを立てよう
S3の環境も整ったことですし、次はEC2を使ってみましょう。
Amazon EC2 Command-Line Toolsの導入
EC2の操作にも専用のツールが必要です。
「Amazon Web Services Developer Connection」のEC2のリソースページから、「Developer Tools」→「Amazon EC2 Command-Line Tools」→「Download the Amazon EC2 Command-Line Tools」と辿り、ec2-api-tools.zipをダウンロードし、適当なところに解凍してください。
そして、環境変数EC2_HOMEに解凍したディレクトリを設定し、EC2_HOMEのbinディレクトリにパスを通します。同時に、X.509証明書のPrivate KeyファイルのパスをEC2_PRIVATE_KEYに、Certi゙cateファイルのパスをEC2_CERTに設定します(リスト4)。
また、このコマンドツールはJavaで書かれているので、実行にはJavaが必要です。インストールしていない方はインストールしてください[7]。
インストールが終わったら、コマンドラインからバージョンを確認してみます。
イメージファイルの選択
EC2でサーバを起動するには、AMI(Amazon Machine Image)というイメージファイルが必要になります。AMIは、Linuxがインストールされた状態のディスクイメージです。まずはどのディスクイメージを起動するか選択する必要があります。
公開されているディスクイメージはec2-describe-imagesコマンドで見ることができます。
しかし、これらは一般のユーザが公開しているものも含んでいるため、どのような環境がインストールされるかわかりません。場合によってはセキュリティホールを含んだアプリがインストールされているイメージもあるかもしれません。
そこで、今回はAmazonが提供している公式イメージを使って起動してみましょう。公式イメージの一覧は図11のコマンドで取得できます。
ちょっと古いものばかりですが、Fedora Core 4+Apache+MySQLを使ってみましょう(図11の出力の4行目)。起動に必要なのは2列目の「ami」で始まるイメージ番号です(今回は「ami-25b6534c」)。
ログインキーの作成
起動には、ログイン用の鍵も必要です。ログイン用の鍵はec2-add-keypairコマンドで作成します。
今回はテスト用の環境なので「testmachine」という鍵を作ります。
鍵のパーミッションはほかの人が見れないものを設定します。
インスタンスの起動
作成した鍵を使って、ami-25b6534cのイメージのインスタンスを起動します(図12)。図12のようにオプションで特に指定しない場合には、一番小さな「Smallインスタンス」が起動されます。「Largeインスタンス」や「Extra Largeインスタンス」を起動したい場合には、それぞれ「--instance-type m1.large」「--instance-type m1.xlarge」オプションを追加します。
起動後には図12のようにステータスが出ます。大事なのはINSTANCE行の2列目の「i-」で始まるIDです(ここでは「i-a09969c9」)。これは今起動したインスタンスのIDです。複数インスタンスを起動する場合には必ずメモするようにしましょう。
起動と同時に課金が開始されます。課金は1時間単位になっていますので、短時間に何度も起動と停止を繰り返す場合は気をつけてください。起動するたびに最低でも1時間分の料金がかかります。
なお、インスタンスの起動には数分かかります。その間にポートの設定をしておきましょう。
ポートの設定
初期状態はすべてのポートが閉じられています。
SSHとHTTPだけ開けましょう。
起動の確認
そうこうしている間にインスタンスが起動したころでしょう。
ec2-describe-instancesコマンドで起動しているインスタンスを見ることができます(図13)。INSTANCE行4列目の「.amazonaws.com」で終わる文字列が、起動したインスタンスのマシン名です(今回は「ec2-72-44-50-86.z-1.compute-1.amazonaws.com」)。
SSHとHTTPでも確認してみましょう。
ブラウザで「http://ec2-72-44-50-86.z-1.compute-1.amazonaws.com」にアクセスしてみてください。「Fedora Core Test Page」が表示されれば成功です(図14)。
sshでもログインしてみましょう。先ほど作ったログイン用の鍵を使います。図15のように表示されれば成功です。