
amazon EC2に新しくMicro instanceが登場した。
Announcing Micro Instances for Amazon EC2

料金は$0.02/1時間~と個人であれこれやるには超オススメ!
個人的にFacebookアプリを作ろうと思っていたので、使ってみることにしました。
環境は、Linux+apache+MySQL+PHP(+symfony)で作ってみます。
しかも、インスタンスが落ちても大丈夫なようにEBSも使ってみる。
EC2インスタンスを立ち上げる
amazon web serviceのページから
AWS Management Consoleを使って、インスタンスを立ち上げます。
なにやらAmazon Linuxなる余計なプレインストールパッケージをstripしたAMIがあったのでそれを使うことにしてみます。
Getting Started on Fedora Core 8 (AMI Id: ami-99f58acb)を使います。
Fedoraはrootユーザで入れた。
この前つかったAmazon Linuxではrootではなくec2-userでログインする仕様になっていた。
- Apache,MySQL,phpをインストールする
yum -y install httpd php mysql mysql-server php-mysql
/sbin/chkconfig httpd on /sbin/chkconfig mysqld on
/sbin/service httpd start /sbin/service mysqld start
echo "<?php phpinfo(); ?>" > /var/www/html/index.php
ブラウザから、アクセスして動作確認する
(e.g.) http://ec2-xxx-xx-xx-xxx.ap-southeast-1.compute.amazonaws.com/index.php
うん、きちんとphpinfoが表示されている。 動作確認.........ok
停止するときは、こんな感じ
/sbin/service httpd stop /sbin/service mysqld stop
MySQLのセキュリティ関連の設定をする
- まずはrootユーザのパスワード変更 * 'new-password'部分は自分の好きなパスワードに変更してください。
mysqladmin -u root password 'new-password'
mysql -u root -pnew-password
mysql> DROP DATABASE test;
mysql> DELETE FROM mysql.user WHERE user = ''; FLUSH PRIVILEGES;
これで終わり。
mysql> exit Bye
AWS Management ConsoleからEBSを作成。10GBくらいでいいか。 ELASTIC BLOCK STORE(EBS)は EC2のインスタンスにマウントできる仮想ストレージデバイスのことです。 Amazon EBSを活用してデータをバックアップしてみよう ~Amazon EC2/S3環境構築のすべて~ /dev/sdpにAttachしてみる。 待つこと1分弱。コンソールでマウントされていることを確認する。
ls /dev/sdp
/ebs1というディレクトをつくり、そこにEBSをマウントします。
mkfs.ext3 /dev/sdp
mkdir /ebs1
mount -t ext3 /dev/sdp /ebs1マウントされていることを確認..........ok
df -h
まずは、apacheとmysqlを停止しておく。
/sbin/service httpd stop /sbin/service mysqld stopディレクトリをごっそり移動。
mv /etc/httpd /ebs1/httpd替わりにシンボリックリンクを作成
ln -s /ebs1/httpd /etcドキュメントルートも同じく移動。
mv /var/www /ebs1/www ln -s /ebs1/www /var/httpdを起動する。
/sbin/service httpd start
このインスタンスをつぶして、 新しいインスタンスを起動したときには ディレクトリを削除し、リンクをはるだけ。
rm -rf /var/www ln -s /ebs1/www /var/
MySQLも同様にする
# MySQLの停止 /sbin/service mysqld stop mv /var/lib/mysql /ebs1/mysql ln -s /ebs1/mysql /var/lib # 起動 /sbin/service mysqld start新しいインスタンスにした場合は 上記同様にディレクトリを削除し、リンクをはりなおす。
rm -rf /var/lib/mysql ln -s /ebs1/mysql /var/lib
groupadd contentsuser useradd mikitimo -d /ebs1/home/mikitimo -g contentsuser -p'mypassword'
参照: Tutorial: Running a php/mySQL server on EC2 with EBS
さて、次はSymfony+sfFacebookPluginでfacebookアプリを構築してみるよ!
0 件のコメント:
コメントを投稿