AWSを使おう。まずは、EC2を。

はじめまして、NowTomです。システム開発に関わって現在7年目のものです。
LesCochonsの情報発信として、私はAmazon Web Services(AWS)について書こうと思います。
AWSの中でも主に、Elastic Compute Cloud(EC2)やSimple Storage Service(S3)の使い方やメリットを紹介します。
読み手の方に興味を持ってもらい、ぜひ使うまでにいたってもらえたらいいなと思います。

今回の内容

今回の内容は、EC2の概要から、実際にLinuxサーバを作成するところまでやってみます。

EC2の概要

Amazonいわく、以下のようなものらしいです。

Amazon Elastic Compute Cloud (Amazon EC2) は、クラウド内で
規模を自在に変更可能なコンピュータ処理能力を提供するウェブサービスです。
そして、ウェブスケールな処理能力を開発者が簡単に利用できるようデザインされています。

いまのところは、「簡単にサーバが用意できますよ」という理解でよろしくお願いしますw

EC2を利用するにあたっての準備

EC2を利用するには、以下の準備が必要です。

  • AWSのアカウント作成とキーの作成
  • EC2を操作するためのツールインストール

私はUbuntuを利用しているので、以下のサイトを利用して準備を行いました。
EC2StartersGuide - Community Help Wiki

AWSのアカウント作成については、画面イメージがあったほうが進めやすいと思うので、
以下のサイトなどを参考に進めてください。
http://www.incharge.jp/howtiuse

EC2を利用してLinuxサーバを作成する

さて、今回の本題に入ります。主な手順は以下です。

リージョンを決める

リージョンは、東アメリカ、西アメリカ、アイルランドシンガポール、日本があります。
今回は、最近できた東京リージョンを利用します。
アメリカに比べて少し高いらしいですが、練習で使う分には大差ないと思います。

以下は、リージョンの正式名称を取得する方法です。

$ ec2-describe-regions
REGION	eu-west-1	ec2.eu-west-1.amazonaws.com
REGION	us-east-1	ec2.us-east-1.amazonaws.com
REGION	ap-northeast-1	ec2.ap-northeast-1.amazonaws.com
REGION	us-west-1	ec2.us-west-1.amazonaws.com
REGION	ap-southeast-1	ec2.ap-southeast-1.amazonaws.com

日本は、「ap-northeast-1」です。

AMIイメージを決める

AMIイメージは、各種Linuxディストリビューションだけでなく、Windowsも選択できます。
今回は、Ubuntu10.10を利用します。(Microインスタンスで使える、ami-440fa445を使います。)

インスタンスの種類を決める

インスタンスは、Micro、Small、Midium、Largeなどがあり、用途に合わせて選択します。
今回は、1年間無料!!!らしいのでMicroインスタンスを利用します。

インスタンスを作成する

準備ができたので、コマンドを利用して、インスタンスを作成します。

ec2-run-instances ami-440fa445 --instance-type t1.micro --region ap-northeast-1 -k sample-keypair -g sample_security_group

ec2-run-instancesは、インスタンスを作成して起動するコマンドです。
オプションとして、インスタンスの種類や、リージョン、キーペア、セキュリティグループを指定します。
セキュリティグループについては、デフォルトではSSHアクセスができなかったので、
自分でSSHアクセスを許したグループを作成しました。

インスタンスの詳細を調べる

以下のコマンドを使うと、インスタンスの詳細が見れます。

$ ec2-describe-instances --region ap-northeast-1
RESERVATION	xxxxxxxxxx	xxxxxxxxxxxx	xxxxxxxxxxxxxxx
INSTANCE	i-40a5ca41	ami-440fa445	xxxxx.ap-northeast-1.compute.amazonaws.com

i-40a5ca41は、インスタンスIDです。停止するときや、また開始するときに使用します。
xxxxx.ap-northeast-1.compute.amazonaws.comはDNS名で、SSHで繋ぐときなどに使用します。

インスタンスを利用する

作ったインスタンスSSHでログインします。

$ ssh -i $AWS_HOME/keypair.pem ubuntu@xxxxx.ap-northeast-1.compute.amazonaws.com
Linux ip-xxx-xxx-xxx-xxx 2.6.35-24-virtual #42-Ubuntu SMP Thu Dec 2 05:01:52 UTC 2010 i686 GNU/Linux
Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

  System information as of Sun May 29 16:12:43 UTC 2011

  System load:  0.0              Processes:           60
  Usage of /:   7.8% of 7.87GB   Users logged in:     0
  Memory usage: 5%               IP address for eth0: 10.146.11.83
  Swap usage:   0%
インスタンスを停止する

今回作成したインスタンスは、インスタンスを停止できるものになっています。
止めておけばインスタンス利用料はかからないようですが、インスタンスを保持するのに若干お金がかかるそうです。
まだ詳細は説明できないので、そのうちしたいと思います。
停止するコマンドは以下のとおりです。

ec2-stop-instances --region ap-northeast-1 i-40a5ca41
インスタンスを開始する

停止したインスタンスを開始するコマンドは以下のとおりです。

ec2-start-instances --region ap-northeast-1 i-40a5ca41
インスタンスを終了する

最後にインスタンスを終了します。これをやれば課金は止まります。

ec2-terminate-instances --region ap-northeast-1 i-40a5ca41

インスタンスを終了すると元には戻せないので、保存をする必要がありますが、これは今後説明します。

最後に

かなりはしょっての説明になりましたが、いったん準備ができれば簡単にサーバを持つことができます。
今後は、バックアップやロードバランサなどの説明をしていきたいと思います。

参考文献

クラウドAMAZON EC2/S3のすべて (ITpro BOOKs)

クラウドAMAZON EC2/S3のすべて (ITpro BOOKs)