少し規模の大きいサービスを開始するため、スケーラブル(後で拡張できる)のサーバーの利用を検討していまして、手始めにAmazonEC2/S3を試してみることにしました。
今後のために、メモっておきます。目的は、LAMP(Linux + Apache + Mysql + PHP)環境の構築です。
途中、わからないことは色々ありましたが、その都度調べながら設定をすすめました。
一度立ち上がってしまえば、あとはレンタルサーバーと同じような感覚で利用できます。
サーバーが足りなくなれば、同じものを何台でもボタンひとつで準備ができます。
EC2は99.95%の稼働率を保証しています。稼動が不安定な、国内の激安レンタルサーバーを使う気が、一気に失せてしまいました。
今後は順次、クラウドに切り替えて行く予定です。
アカウント作成と、EC2への接続環境
買ってあった参考書、クラウド Amazon EC2/S3のすべて~実践者から学ぶ設計/構築/運用ノウハウ~ (ITpro BOOKs)と、Amazon EC2/S3クラウド入門を参考に。GIGAZINEにも載ってます。
EC2のインスタンス立ち上げや、S3のバスケットの作成&データー保存は、「AWS Management Console」という、ウェブベースのメチャクチャ便利なサービスがあるので、すべてコレを利用しましょう。よく紹介されているS3FOXなどのツールは必要ないです。
OSのインストール
CentOS5を使うことにしました。以前知人から、本番で利用するなら、Fedoraより安定しているCentOSの方が良いよと聞いていたので。バージョンアップがゆっくりなので、精神衛生上良いです。
本来なら、LAMP環境構築済みのAMIを利用すれば良いのでしょうけど、PHPやMysqlのバージョンが古くてイマイチ…。結局、CentOSのみのAMIを利用して、MySQL、PHP、Apacheは自分でインストールしました。MySQL5.149、PHP5.3.3、Apache2.2.3となりました。
amazon EC2上でCentOS5.4でLAMPを参考に、ami-0459bc6dのAMIを利用して、CentOSをインストール
# yum -y upgrade
でCentOSをアップグレード。ウチの場合は、CentOS5.5にバージョンアップしました。
「最新のレポジトリにするためbにepel,remiをインスコ」の部分は、ファイルが無いものがあるので、自分で、
http://download.fedora.redhat.com/pub/epel/5/i386/
http://rpms.famillecollet.com/el5.i386/
の中を探して、
といった、一番バージョンの高いものを探します。
LAMPインストール
まずは、PHP
yum -y install php php-pear php-mysql php-mbstring php-pdo php-xml
簡単!!
つぎにMysql
yum -y install mysql-server
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:/usr/bin/mysqladmin -u root password ‘***’
/usr/bin/mysqladmin -u root -h ip-10-194-214-100 password ‘new-password’via:
「rootユーザーのパスワードを最初に設定しろ」ってメッセージが出るので、コピペします。
mysql設定
vi /etc/my.cnf
mysql起動
/etc/rc.d/init.d/mysqld start
自動起動設定
chkconfig mysqld on
chkconfig –list mysqld
/etc/rc.d/init.d/mysqld restart リスタート
最後にApache
yum -y install httpd
vi /etc/httpd/conf/httpd.conf
Apache 起動
/etc/rc.d/init.d/httpd start
自動起動設定
chkconfig httpd on
chkconfig –list httpd
リスタート
/etc/rc.d/init.d/httpd restart
これで、LAMP環境の基本はセット完了
AMIに焼く
ここまでの設定を、AMIに丸ごと焼いて保存しました。
ところが、loopデバイスが無いとのエラーがてしまったので、loopデバイスとやらをインストールしました。
こちらを参考に、インストール
http://netlog.jpn.org/r271-635/2009/10/amazon_ec2_loop_not_found_xen.html
これで無事AMIに保存できました。
AMI保存方法は、参考書の通りに進めました。
必要なコマンドは2つだけ。
ec2-bundle-vol -d /mnt -k /mnt/pk-***************.pem -c /mnt/cert-****************.pem -u 0000-0000-0000 –fstab /etc/fstab
ec2-upload-bundle -b mybucketname/CentOS5.5-LAMP -m /mnt/image.manifest.xml -******* -s *******
というコマンドを打つと、S3にバックアップされます。伏字はセキュリティコードなどです。
今回大いに役立った参考書
ちょっと古い部分もあったけど、おおむねOKでした!
コメント