EC2編~lsyncdでリアルタイムにファイル同期②~

こんにちは! JQです。

前回は『 EC2編~lsyncd~ 』 ということで、lsyncdを利用してフォルダ間の自動同期処理をしてみました。

今回は『EC2編~lsyncd2~』と題して、lsyncdを利用して別サーバ間で自動同期処理してみたいと思います。

※今回はrsyncをたてずにSSHで行います。

SSH設定

1.SSH設定

今回はテストの為、rootを利用します。

※本来であればrsync専用ユーザーを作成してsudoなどでrsyncを許可する等がいいと思います。

同期元でキーの作成

1# ssh-keygen -t rsa

パブリックキーを取得します。

1# cat .ssh/id_rsa.pub

取得したキーを同期先のauthorized_keysに登録します。

1# vim ~/.ssh/ authorized_keys

また、rootログインを許可するように変更します。

1# vim /etc/ssh/sshd_config2PermitRootLogin yes34# /etc/rc.d/init.d/sshd restart56Stopping sshd:                                             [  OK  ]7Starting sshd:                                             [  OK  ]

実際に同期元から接続して試してみます。

1# ssh root@[同期先]

ログイン出来れば成功です。

2.lsyncdの設定

続いてlsyncdの設定を変更します。

下記では/test/ディレクトリを同期します。

1settings{2        statusFile = "/tmp/lsyncd.stat",3        logfile = "/var/log/lsyncd/lsyncd.log",4}56sync {7   default.rsyncssh,8   source = "/test/",9   host = "同期先",10   targetdir = "/test/",11   rsync      = {12         archive = true13         }14}

再起動を行います。

1# /etc/rc.d/init.d/lsyncd restart2Stopping lsyncd:                                           [  OK  ]3Starting lsyncd:                                           [  OK  ]

3.確認

同期元でファイルを作成してみます。

1# touch /test/test.txt

実際にログを確認します。

1# tail /var/log/lsyncd/lsyncd.log –f2Thu Dec 26 10:14:40 2013 Normal: Rsyncing list3/test.txt4Thu Dec 26 10:14:40 2013 Normal: Finished (list): 0

異なるサーバ間でも同期が出来ています。

いかがでしたでしょうか?

次回はruby SDKを利用してスナップショットを別リージョンにコピーしたいと思います。。

お楽しみに!

この記事を書いた人

aws-recipe-user