まず、EC2で何がしたいのかをまとめてみる。
- 「システムとしてはサーバスペック(単体性能やスケールアウトによる負荷分散)やバックアップ設備やストレージなどが大量に必要なシステムなんだけど、まじめにやると初期投資が大きすぎて大変。かつ、コスト的に採算が合うのは、サービスとしてうまく軌道に乗って、ユーザやコンテンツが集まってしばらくしてからで、サービス開始当初はかなりのマイナス位置からのスタートとなる」ような場合に、将来的な拡張性と初期投資を押さえるという両面を満足させたい。
- Ruby on Railsを動かしたい。
- メールフォームとかにRuby on Railsは大げさだから、PHPも動かしたい。
- DBはMySQLかSQLiteでいい。
- 普通は流行るシステムなんて一握りなんだから、1つのインスタンス上で複数のドメイン(システム)を扱いたい。ただし、負荷的に厳しくなってきたときに、他のインスタンスへの移動もスムーズに行いたい。
- バックアップはきちんと取りたい。リストアも簡単に行いたい。
- デプロイを簡単にしたい。具体的にはCapistranoを使えればいい。
で、これを実現しうるものは、EC2onRailsかなと。
負荷が高くなってきたら、自動的にスケールアウトしてくれるようなRight ScaleやScalrみたいなサービスも出てきているみたいだね。(有料だけど)
参考
実際にアマゾンが使っているのと同じ仮想サーバを無料で試せる「Right Scale」を使ってみた
ステップとしては、
- まずはまとめサイトなどを見て、AWSへの登録を行う
- すべての基本となるS3の使い方を押さえる
- EC2で実際にインスタンスをたてて、なにか適当に動かした後、イメージも作って、終了させてみる。
- EC2onRailsを使ってみる。
- EC2onRailsで不満な所を直して、イメージ(AMI)を作ってみる。
みたいな感じになるかな。
基本的に、まとめサイトを見て、その通りにやってみれば、おおよその流れは掴めると思う。はまりそうなところを列記すると、
AWSへの登録
- 英語読めれば楽かもね。
- クレジットカードは必要だよ。
- Getting Started Guide とDeveloper Guide はさらっと読んでおくべし。特にデベロッパーガイドにはコマンドラインツールのリファレンスが付いてる。
S3の使い方
- S3でのファイル管理は、S3 Firefox Organizer(S3Fox)というFireFoxのアドインを使うと楽。FTPクライアントみたいな感じ。
- Amazon S3をFirefoxから使ってみよう あたりを参考
EC2の使い方
- EC2の管理は、ElasticFoxを使うと楽。コマンド覚えなくていいしね。
- Amazon EC2/S3を使ってみた - 6.EC2をGUIで操作するあたりを参考
- SSHでのログイン用のRSA認証鍵としてec2-add-keypairで鍵を作るんだけど、作った公開鍵は自動的にamazon側に保存されるので、テストでばしばし変な鍵を作ると、後で困る事になるかも。(まぁ、消せるけど)
- ec2-add-keypairで作った鍵は、chmod 400にして~/ec2-keysというディレクトリの中にid_(keyname)として保存しておくと、ElasticFoxとの相性がいいかも。(まぁ、ElasticFoxの右上のtoolsから設定変更できるけど。てかあー、おいらMacだからこのパスでいいけど、Windowsだったらパス決め打ちするしかないかもなー)
- $ ec2-add-keypair testmachine | sed -e "1d" > ~/ec2-keys/id_testmachineみたいな感じ。
- この設定は、のちほどEC2onRailsにも出てくるので、こだわりが無いなら、上記に統一するのが吉。
EC2onRailがらみが思ったより長くなりそうなので、その3に続く。
0 件のコメント:
コメントを投稿