どうもこんにちは!!
そろそろエンジニアに転職できるのでは?と、錯覚し始めたWebデザイナーです。
先日、Amazon EC2に Amazon EBS をアタッチ(接続) してみたのですが、
EBS側に直接データを保存しなきゃ意味が無いことに
家路の途中で気がつきました…。(´・ω・)
Mac OSX ターミナルを起動して、SSHで EC2へログインします。
EC2へSSHログイン
# ssh -i EC2key.pem root@ec2-XXXX.amazonaws.comnanoエディタでバーチャルドメインの設定ファイル「mysite01.com」を編集
# nano /etc/apache2/sites-available/mysite01.com
↓↓該当部分に「/vol」を追加するだけ。NameVirtualHost 00.00.00.00
<VirtualHost *:80>
ServerName www.mysite01.com
DocumentRoot /vol/var/www/mysite01.com
AddHandler cgi-script .cgi .pl
CustomLog /vol/var/www/mysite01.com/access.log combined env=!no
ErrorLog /vol/var/www/mysite01.com/
<Directory /vol/var/www/mysite01.com>
Options IncludesNoExec ExecCGI FollowSymLinks Indexes
AllowOverride None
</Directory>
</VirtualHost>[ctrl]+x
Save modified buffer ?と聞かれたら
y → [Enter]
と打って、nanoエディタを終了ログ用のディレクトリをEBSをアタッチした「vol」ディレクトリ以下に作成
# mkdir -m 755 /vol/var/log/apache2/mysite01.comwww用のディレクトリをEBSをアタッチした「vol」ディレクトリ以下に作成
# mkdir -m 755 /vol/var/www/mysite01.com必要であれば、既存wwwファイルを「vol」以下へ移動
# mv /var/www/mysite01.com/* /vol/var/www/mysite01.comApache2を再起動
# /etc/init.d/apache2 restart
ホームページファイルをアップする時は、「vol」以下の
/var/www/バーチャルドメイン用ディレクトリにアップすること。
ついでにデータベース ( mysql ) も、EBS側の「vol」以下で動くように設定しちゃう。
mysqlを停止する
# /etc/init.d/mysql stop「vol」以下にシンボリックリンクを作成
# ln -s /var/lib/mysql /vol/lib/mysqlmysqlを起動
# /etc/init.d/mysql startrootユーザでmysqlへ接続
# mysql -u root -pパスワードを入力
Enter password: rootユーザのパスワードデータベースが作成できるかテスト
mysql > create database test00;
Query OK, 1 row affected (0.00 sec)
と表示されればOKmysqlから脱出
mysql > exitシンボリックリンクをはったディレクトリ内部を参照
# ls /vol/lib/mysql/
「test00」と表示されていれば、万事OK!!
これで万が一、Amazon EC2がダウンしちゃっても、
大事な大事なWebデータ&データベースの内容は、
EBS側に保存されているので超安心!!(・∀・)
なのに 2010年Amazonの旅は、まだまだ続きがあるのです…。
関連エントリー
- こんなにスゴイぞ、Amazon EC2
- Amazon Web Service、アカウントを取得してみた
- Amazon EC2/S3を申し込んでみた
- Amazon EC2、X.509証明書を取得してみた
- AWS Management Consoleで Key Pairsを取得してみた
- Mac OSXでAmazon EC2 Command-Line Toolsを使ってみた
- Amazon EC2、インスタンスを立ち上げてみた
- Amazon EC2、SSHでログインしてApacheを起動してみた
- Amazon EC2、Debianを設定してみた
- Amazon EC2、DebianでFTP(vsftpd)設定
- Amazon EC2のイメージファイルをS3に保存する
- Amazon EC2で固定IPを取得する
- Amazon EC2を独自ドメインで使う
- Amazon EC2をバーチャルドメインで運用する
- Amazon EC2、EBS(Elastic Block Store)を使ってみた
- Amazon EBSで Apache2とmysqlを動かしてみた
- Amazon CloudFront でちょっぱやを実装してみた
- Amazon EC2、AMIを共有する
- Amazon EC2上でインスタンスをオートスケールできる「Wakame」
- [ 非常事態宣言!!] Amazon EC2、ホームページが消えました
- Amazon サポートセンターに連絡を取ってみた
- Amazon EC2、SSH(22番ポート)の設定方法はこうすべき!
Amazon EBSで Apache2とmysqlを動かしてみたへのコメント数: 4



よくサイトを参考にさせていただいています。
# ln -s /var/lib/mysql /vol/lib/mysql
これだと実態は /var/lib/mysql になるので、EBSには保存されないのではないかと思うのですが。
cp -a /var/lib/mysql /vol/lib/mysql
ln -s /vol/lib/mysql /var/lib/mysql
これであれば、実態はEBSに移り、mysqlの設定を変えることなく動くと思います。
katoさん はじめまして。(^-^)
コメントどうもありがとうございます。
># ln -s /var/lib/mysql /vol/lib/mysql
>これだと実態は /var/lib/mysql になるので、
>EBSには保存されないのではないかと思うのですが。
え、ホントですか?!
/vol/lib/mysql の中には、ちゃんとDBが出来上がっているのですが
上記で記載した以外のコマンド叩いた記憶がありません…。
私、なにかミラクルを起こしたかしら…。(^-^;)
わざわざご丁寧なご指摘をくださって、ありがとうございました。
また頑張ってお勉強して、ご指摘の意味を理解できたら
加筆するようにしますね!
Webデザイナーが書いたエントリーなのに
katoさんのようにスキルのある方に見ていただけてること、とても嬉しいです。
どうもありがとうございました!!
それはミラクルじゃないですねw
ln -s はいわばショートカット(エイリアス)を作るコマンドですので、
/vol/lib/mysql が /var/lib/mysql のショートカットになっているに過ぎません。
つまり、実体というか本体は依然として、/var/lib/mysql にあり、
/vol/lib/mysql はそれのショートカット(別名)として存在している状態です。
ですので、/vol/lib/mysql をのぞいてみても、DB が出来あがっているように見えます。
ls -la /vol/lib
を見て、mysql -> /var/lib/mysql
とかになっていたら、それは /var/lib/mysql に実体があることを示しています。
古い記事でしたが、このまま気づかずに1年以上運用されていたら… と
他人事なのに不安になってしまい、余計なコメントをさせて頂きました。
ですって!ですって! 良い子のみんなは真似しないでくださいね!!
junichiroさん、ご指摘どうもありがとうございました!!
NEW ENTRY
ARCHIVE
カテゴリー
TAG CLOUD