ec2にs3をマウントしてrsyncした時のメモ

EC2 に S3 のバケットをマウントして、rsync でバックアップをとるのを試してみているのでメモ。

ec2 に s3 をマウントする

Amazon S3 編。S3 バケット を マウント する方法 | EC2 S3 マウント ファイルシステム | ナレコムAWSレシピ

と、

Amazon S3編~S3バケットをファイルシステムとしてマウントしてみよう!~ EC2 S3 s3fs マウント | ナレコムAWSレシピ を参考にしました。

少し困ったのは、アクセスキーとシークレットキーのところ、 IAM という認証の仕組みを使う点で、上記のリンクの説明と違っていたことでした。 IAM については、 IAM とは? – AWS Identity and Access Management に説明も動画もありますが、 AWS アカウント内の限られた権限を持つユーザーを作成して、認証を行うことができるようにするためのサービスです。

今回は、 ec2 サーバ内に S3 関連の操作のみができる IAM ユーザーの認証情報を保存しています。

マウント自体は、 s3fs を利用すると簡単でした。上記のリンクにやり方が書いてあります。インストールするバージョンは、 Downloads – s3fs – FUSE-based file system backed by Amazon S3 – Google Project Hosting で最新のバージョンが確認できました。

rsync してみるとすごく遅かった

rsync でバックアップをしてみたところ、とても遅かったです。vi でファイルを作成して書き込み、保存するのにもレスポンスに1秒ずつか、もうちょっと時間がかかる感じでした。

そこで、ssh での接続が切れたり、ログアウトしたりしたあとも処理を続けてくれるように ログアウトした後もプログラムの処理を続ける?(コマンド実行時にnohup) を参考にしました。

nohup rsync -av /var/www/vhosts/i-nskw/ /mnt/s3/backup/ &

最初はファイルが多いのですが、今後は差分だけなので、今後は毎晩、

  1. マウントする
  2. 必要なデータベースのダンプファイルを作成してどこかに保存
  3. 必要なディレクトリのrsync
  4. マウント解除する

というのをやってくれるのを作ろうと思います。

↓ プラグインを作る方々への本、書きました。 ↓

さくらVPS、うるう秒調整で負荷上昇とのことで連絡があり、対処メモ

さくらVPSから、以下のようなメールを受け取りました。

2012年7月1日 AM9:00頃よりご利用のVPSサーバにおいてCPU負荷が上昇する
不具合が発生しております。
7月1日 AM8:59:60にうるう秒調整があり、VPSのCPU負荷上昇がほぼ同時であっ
たことから、うるう秒調整が原因の可能性がございます。

▼「うるう秒」挿入のお知らせ (独立行政法人 情報通信研究機構)
http://www.nict.go.jp/press/2012/01/31-1.html

CPU負荷上昇により、他のVPSへも影響が出てるおりますため、以下の手順にて
CPUのリソース情報をご確認ください。

なるほどぉ。。というわけで、このあとに書いてあったとおりにやってみました。
続きを読む さくらVPS、うるう秒調整で負荷上昇とのことで連絡があり、対処メモ

↓ プラグインを作る方々への本、書きました。 ↓

VPSなどで、WordPressのパーマリンクの設定がうまくいかない時

WordPressのパーマリンク設定を変更した際に、変更したパーマリンクでアクセスしてうまくいかない場合のチェック項目を調べました。

.htaccessがあるか。書き換えられているか

ドキュメントルートに.htaccessファイルがあるかどうかを確認します。
また、下記のようになっているかも確認します。

# BEGIN WordPress<br />
&lt;IfModule mod_rewrite.c&gt;<br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
&lt;/IfModule&gt;<br />
# END WordPress<br />

これは、ドキュメントルート以下にもしそのファイルやフォルダが実際に置いてあればそれを表示し、もしなければリライトルールを適用してルートのindex.phpにリクエストを渡す、というものです。

つまり、もし、example.com/example.html といったファイルを実際に設置すればWordPressは動かずにそのファイルが表示されます。
もしなければ、それはWordPressが生成するページであろうということで、WordPressに動いてもらって作ってもらいます。

mod_rewriteモジュールがロードされているかの確認

上記のリライトが動くためには、Apacheのモジュールであるmod_rewriteがロードされている必要があります。

ロードされているかどうかを確かめるには、適当な場所にtest.phpなどを作成し、

phpinfo();
と書き込んでそのURLにアクセスします。

ページ内をmod_rewriteで検索して、もしなかったらhttpd.confファイルを開き、
#LoadModule rewrite_module modules/mod_rewrite.so
を探し、冒頭のコメント#を削除します。

AllowOverride Allになっているか

それでもまだ動かない場合、httpd.confファイル内で.htaccessの動作が必要なできるだけ下層の<Directory>セクションを探します。たとえば、<Directory “/var/www/html”>などです。

その中を確かめてAllowOverride Allになっているかどうかを確かめます。
値はAllでなくてもよく、細かい設定をするほど安全になりますので、http://httpd.apache.org/docs/2.2/ja/mod/core.html#allowoverride
などを参考に自分の条件で設定をします。

セキュリティ

.htaccessが書き換えられて、セキュリティ的におかしなことになる場合があります。そのため、パーミッションをできるだけ厳しく設定して読み込みしかできなくするなどの必要があります。

高速化

.htaccessの動作はけっこう重たいそうで、下記の本を参考に、.htaccessではなくconfファイルでリライトを設定する方法が書かれているので、そちらを参考にするのも良いと思います。

WordPress 高速化&スマート運用必携ガイド WordPress 高速化&スマート運用必携ガイド
レビューを見る
欲しいものリストに追加
価格:3024円 在庫あり。powered by Amazon.co.jp

間違いなどがあったら教えて下さいm(__)m。

↓ プラグインを作る方々への本、書きました。 ↓

memo: Apacheのバーチャルホストを複数指定して重複を指摘される失敗

以下のように設定してみたところ、

&lt;VirtualHost *:80&gt;<br />
    ServerAdmin hoge@example.com<br />
    DocumentRoot /var/www/html/example.com/<br />
    ServerName example.com<br />
    ServerAlias *.example.com<br />
&lt;/VirtualHost&gt;<br />
&lt;VirtualHost *:80&gt;<br />
    ServerAdmin fuga@example.com<br />
    DocumentRoot /var/www/html/example.biz/<br />
    ServerName example.biz<br />
    ServerAlias *.example.biz<br />
&lt;/VirtualHost&gt;

以下のようなエラーを得ました。

[warn] _default_ VirtualHost overlap on port 80, the first has precedence

対処法

httpd.conf ファイルから、NameVirtualHostディレクティブを探して、コメントアウトを外し、以下のようにする。

NameVirtualHost *:80

名前ベースのバーチャルホストを利用してリクエストを受け付けるIPを指定するところです。IPを指定する場合には、<VirtualHost "入力したIP":80> (クオートはなし)のように指定したIPとバーチャルホストディレクティブの引数をちゃんと合わせます。

↓ プラグインを作る方々への本、書きました。 ↓

nginxでWordPressの設定する時に出てくるディレクティブのメモ

nginx連載5回目: nginxの設定、その3 – locationディレクティブというのを見ていて、僕もメモ。

WordPressの設定時に出てくるのを理解する試み!
今回は、serverブロックのあたりだけ。

詳しい各種設定方法は、以下の本に載っています。

WordPress 高速化&スマート運用必携ガイド WordPress 高速化&スマート運用必携ガイド
レビューを見る
欲しいものリストに追加
価格:3024円 在庫あり。powered by Amazon.co.jp

また、著者の岡本さんの下記のエントリーも参考にしてください。

WordPress 高速化&スマート運用必携ガイド フォロー

続きを読む nginxでWordPressの設定する時に出てくるディレクティブのメモ

↓ プラグインを作る方々への本、書きました。 ↓