Amazon EC2を使用してみた
今回、Amazon EC2を使用してみた手順や感想、課題を記しておく。
■インスタンス(仮想サーバ)のスペック
仕様:LAMP
OS:fedoracore8(32bit)
Apache:2.2.9
PHP:5.2.6
MySQL:5.0.45
URL:http://ec2-184-73-70-45.compute-1.amazonaws.com/
■内容
1)コマンドラインツールの設定
2)インスタンスの選定・起動
3)Elasticfoxのインストールと起動確認
■手順
1)コマンドラインツールの設定
環境:CentOS5.4
インストール先:/usr/local
ディレクトリ名:ec2-api-tools
起動確認:ec2ver
Version:1.3-51254 2009-11-30
▼Pravate Keyの発行(pk-xxxxxxxxxx.pem というファイル)
→X.509 CertificateをするときにDownloadするか?と聞いてくるので、この1回を逃さないでデスクトップなどにダウンロードしておく。
もし逃した場合はX.509 Certificateが発行されているものをMake inactive->deleteしてから再度作成を行う。
▼X.509 Certificateの発行(cert^xxxxxxxxxxxx.pemというファイル)
vi /etc/profile でec2コマンドラインツールの環境設定を行う。
一番最後の業に下記を追記(:wqで抜ける)
export EC2_HOME=/usr/local/ec2-api-tools export PATH=$PATH:$JAVA_HOME/bin:$EC2_HOME/bin export EC2_PRIVATE_KEY=/home/admin/pk-xxxxxxxxxxxxxxxxxxxxx.pem export EC2_CERT=/home/admin/cert-xxxxxxxxxxxxxxxxxxx.pem
そして
source /etc/profile
で反映。ここで環境が設定できているか確認
ec2ver 1.3-51254 2009-11-30
と帰ってくれば成功!
2)インスタンスの選定・起動
ISOファイルをみるコマンドで表示する。
ec2-describe-images -o amazon
EC2上で起動した仮想サーバのアクセスはssh経由のため、キー作成を行う。
$ ec2-add-keypair fedora_test | sed -e "1d" > fedora_test.id $ chmod 400 fedora_test.id
ここから起動することによって課金対象になる。
起動コマンド:ec2-run-instances
AMI ID:ami-2cb05345
ログインキー:fedora_test
$ ec2-run-instances ami-2cb05345 -k fedora_test RESERVATION r-4735d32c xxxxxxxxxx default INSTANCE i-05a4e56e ami-2cb05345 pending fedora_test 0 m1.small 2010-05-02T18:27:58+0000 us-east-1c aki-f5c1219c ari-dbc121b2 monitoring-disabled instance-store
起動したインスタンスの状態を確認する
ec2-describe-instances
ここでひょうじされたアドレス(ec2-184-73-70-45.compute-1.amazonaws.com dom)が環境となる。
次にdefaultではアクセス設定がされていないため、下記のコマンドでssh(22番)とhttp(80番)ポートを開放させる。
$ ec2-authorize default -p 22 $ ec2-authorize default -p 80
これでようやくターミナルからsshログインができるようになったので試みる。
コマンド:ssh -i
キー:fedora_test.id
アドレス:root@ec2-184-73-70-45.compute-1.amazonaws.com
ssh -i fedora_test.id root@ec2-184-73-70-45.compute-1.amazonaws.com
ここでRSA鍵が作成されるのでyes。
すると
__| __|_ ) Fedora 8 _| ( / 32-bit ___|\___|___| Welcome to an EC2 Public ImageBase --[ see /etc/ec2/release-notes ]-- [root@domU-12-31-39-09-C4-D3 ~]#
とログイン成功!!
いざ内容を確認してみる
▼df→ls -la→pwd
[root@domU-12-31-39-09-C4-D3 ~]# df Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sda1 10321208 1275404 8521516 14% / /dev/sda2 153899044 192072 145889348 1% /mnt none 870472 0 870472 0% /dev/shm [root@domU-12-31-39-09-C4-D3 ~]# ls -la 合計 36 drwxr-x--- 3 root root 4096 2009-09-29 16:50 . drwxr-xr-x 22 root root 4096 2010-05-02 14:29 .. -rw------- 1 root root 0 2009-03-04 16:14 .bash_history -rw-r--r-- 1 root root 24 2008-02-22 12:29 .bash_logout -rw-r--r-- 1 root root 327 2008-02-22 11:32 .bash_profile -rw-r--r-- 1 root root 184 2007-12-11 05:11 .bashrc -rw------- 1 root root 0 2009-03-04 16:10 .mysql_history -rw------- 1 root root 1024 2009-03-04 15:44 .rnd drwx------ 2 root root 4096 2010-05-02 14:29 .ssh -rw------- 1 root root 5776 2009-03-04 15:54 .viminfo [root@domU-12-31-39-09-C4-D3 ~]# pwd /root
ついでに、mysqlを起動。
show databases;でデフォルトdbを確認。
statusコマンドで設定を確認。
[root@domU-12-31-39-09-C4-D3 ~]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.0.45 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.01 sec) mysql> status -------------- mysql Ver 14.12 Distrib 5.0.45, for redhat-linux-gnu (i386) using readline 5.0 Connection id: 2 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.0.45 Source distribution Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 12 min 18 sec Threads: 1 Questions: 5 Slow queries: 0 Opens: 12 Flush tables: 1 Open tables: 6 Queries per second avg: 0.007 --------------
ここで文字コードがlatin1になっているので、
一旦、exitで、MySQLのコンフィグファイルにアクセスして
vi /etc/my.cnf で最終行に
default-character-set=utf8 character-set-server=utf8
を追加。
MySQLを再起動して、文字コードの設定・確認。
/etc/rc.d/init.d/mysqld restart set names utf8; show variables like "char%";
無事変更されているか確認する。
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
↓↓
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
すると無事に文字コードが変更されているのを確認できればOK!
今日は初期設定のところまでできたのでこれでOKとする。
つぎはバックアップをS3にするためにAMIをマウントしてS3へ転送するところに取り組む。