初心者に贈る、AmazonEC2でサーバ作成するときの6つのポイント
AWS Management Consoleで操作する
まずは公式管理画面であるAWS Management Consoleにログインして操作しましょう。https://console.aws.amazon.com/console/home
UIが英語なのがアレですがすぐ馴れます。
2008-2009年頃に書かれたAWSの紹介記事などでは、コマンドラインツールでAPIをたたく例が紹介されていますが、敷居が高くなるだけなので初心者にはおすすめできません。
またElasticFoxなどのサードパーティ製GUIツールもありますが、AWSの最新機能に追従できてなかったり全機能を網羅できてなかったりするので、やはり AWS Management Consoleをおすすめします。
東京リージョンを選ぶ
世界のどの地域から選んでもよいのですが、基本は東京リージョンから選びましょう。ネットワーク的に違い方がレスポンスが速いです。
また、一度他のリージョンでサーバを構築してしまうと、リージョンをまたいで引越しするのは面倒です。
64bitのマシン(x86_64)を選ぶ
Architectureが32bit(i386)と64bit(x86_64)の2種類あって迷うと思います。どちらでもいいなら(または違いがわからないなら)、64bitの方を選びましょう。
32bitを選んでしまうといろいろな制約があります。(大きいインスタンスに鞍替えできない、MongoDBがまともに動かない等)
時代は32bit→64bitへの過渡期にあり、近い将来に32bitマシンは廃れていくと思います。(既に個人向けPCではそうなりつつあります)
"instance store"ではなく"ebs"タイプを選ぶ
"Root Device Type"が"ebs"のマシンを選びましょう。"ebs"の方が普通のレンタルサーバ感覚に近いのでオススメです。
"instance store"の方は、AmazonEC2特有のシステムで、サーバ停止時(terminate)にディスクのデータが消えてしまいます。
運用上特別なノウハウが必要になるので初心者は避けましょう。
なるべくシンプルなものを選ぶ
「MySQLインストール済み」「Apacheインストール済み」みたいな全部入りマシンを選んでもよいのですが、それだと結局何がどこまで設定されているのか、マシン起動後に自分で調査することになります。なるべく何も入ってない素のAMIでサーバを作成して、自分でyumなりaptなりでパッケージをインストールすることをお勧めします。
シンプルかどうかを判断するには、サーバを起動してみるのが一番です。
起動後にtopとかyum list installedを見て、余計なものがたくさん表示される場合は、そのマシンの使用は避けましょう。
例
例えば、CentOS6, EBSタイプ、64bitのマシンが欲しくて、たまたま見つけたこういうマシンを起動したところ、ami-ec2e9ced
top
top - 17:16:46 up 26 min, 1 user, load average: 0.00, 0.00, 0.06
Tasks: 63 total, 1 running, 62 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 604836k total, 432964k used, 171872k free, 220312k buffers
Swap: 0k total, 0k used, 0k free, 140968k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1150 root 20 0 352m 10m 1640 S 0.0 1.8 0:00.95 /usr/bin/python2.6 /usr/bin/scalr-upd-client --daemonize
↑謎のpythonスクリプトが既に稼働していてメモリを食っています。yum list installed
をしてみると、
scalarizr-base.noarch 0.9.r4042-1.el6 @scalr
scalarizr-ec2.noarch 0.9.r4042-1.el6 @scalr
scalr-release.noarch 2-1 installed
よくわからないパッケージがインストール済みになっています。こういうマシンは避けた方がよいでしょう。
私の場合は、いろいろ探してみて下記のようなシンプルなAMIを見つけたのでこれを使っています。
ami-586bd859
これをベースに、
yum install httpd php
などとしてサーバ構築していきます。
自分に合ったAMIを見つけたらタグをつけておく
コンソール画面でこのようにタグをつけることができます。後から探すときに便利なのでぜひ活用しましょう。
以上、参考になりましたでしょうか。
ご意見があればTwitter、はてぶコメントでお待ちしております。