2008年6月8日日曜日

Amazon EC2とS3を使ってみる(その2 基本操作編)

まず、EC2で何がしたいのかをまとめてみる。

  1. 「システムとしてはサーバスペック(単体性能やスケールアウトによる負荷分散)やバックアップ設備やストレージなどが大量に必要なシステムなんだけど、まじめにやると初期投資が大きすぎて大変。かつ、コスト的に採算が合うのは、サービスとしてうまく軌道に乗って、ユーザやコンテンツが集まってしばらくしてからで、サービス開始当初はかなりのマイナス位置からのスタートとなる」ような場合に、将来的な拡張性と初期投資を押さえるという両面を満足させたい。
  2. Ruby on Railsを動かしたい。
  3. メールフォームとかにRuby on Railsは大げさだから、PHPも動かしたい。
  4. DBはMySQLかSQLiteでいい。
  5. 普通は流行るシステムなんて一握りなんだから、1つのインスタンス上で複数のドメイン(システム)を扱いたい。ただし、負荷的に厳しくなってきたときに、他のインスタンスへの移動もスムーズに行いたい。
  6. バックアップはきちんと取りたい。リストアも簡単に行いたい。
  7. デプロイを簡単にしたい。具体的にはCapistranoを使えればいい。

で、これを実現しうるものは、EC2onRailsかなと。

負荷が高くなってきたら、自動的にスケールアウトしてくれるようなRight ScaleScalrみたいなサービスも出てきているみたいだね。(有料だけど)

参考

実際にアマゾンが使っているのと同じ仮想サーバを無料で試せる「Right Scale」を使ってみた

ステップとしては、

  1. まずはまとめサイトなどを見て、AWSへの登録を行う
  2. すべての基本となるS3の使い方を押さえる
  3. EC2で実際にインスタンスをたてて、なにか適当に動かした後、イメージも作って、終了させてみる。
  4. EC2onRailsを使ってみる。
  5. EC2onRailsで不満な所を直して、イメージ(AMI)を作ってみる。

みたいな感じになるかな。

基本的に、まとめサイトを見て、その通りにやってみれば、おおよその流れは掴めると思う。

はまりそうなところを列記すると、

AWSへの登録

  • 英語読めれば楽かもね。
  • クレジットカードは必要だよ。
  • Getting Started GuideDeveloper Guide はさらっと読んでおくべし。特にデベロッパーガイドにはコマンドラインツールのリファレンスが付いてる。

S3の使い方

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 件のコメント: