「S3Sync」のインストール
まずは、「S3Sync」をローカルマシンにインストールします。次のコマンドを上から順番に実行していきましょう。流れとしては「ダウンロード」~「解凍」~「ツールの配置」となります。
$ wget http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz $ tar zxvf s3sync.tar.gz $ sudo cp -pr s3sync/ /usr/local/
この例では、「/usr/local/s3sync」に配置していますが、配置場所は任意ですので、必要に応じて変更してください。
環境変数の設定
「Access Key ID」と「Secret Access Key」を次のように環境変数として設定します。「Access Key ID」と「Secret Access Key」の確認方法については、第2回を参考にしてください。
$ export AWS_ACCESS_KEY_ID='XXXXXXXXXXXXXXXXXXXX' $ export AWS_SECRET_ACCESS_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXXX'
このように最低限、上記2つの環境変数を設定するとS3Sync.rb
が実行可能となります。
なお、環境変数ではなく付属している「s3config.yml.example」を参考にして、設定ファイル(/etc/s3conf/s3config.yml)に記載しておくのも良いでしょう。また、頻繁に「S3Sync」を利用する場合は、「S3Sync」の配置先にPATHを設定しておくと、使いやすくなります。
データを「Amazon S3」へアップロード
同期させたい元データのあるディレクトリを「/path/to/data」、同期先のS3のバケット名を「bucketname」、そのバケット内の同期先となるディレクトリを「data」とすると、S3の同期先にデータをアップロードするコマンドは次のようになります。
$ ruby s3sync.rb -r --delete /path/to/data bucketname:data/
-r
オプションは、そのディレクトリ以下を再帰的に実行します。--delete
オプションは、同期先のディレクトリに存在するファイルのうち、同期元のディレクトリに存在しないファイルを削除します。
また、-s
オプションを付ける事で、「Amazon S3」への接続にHTTPS(暗号化通信)を利用します。その他のオプションについては-h
オプションを付ける事で、確認できます。
データを「Amazon S3」からダウンロード
ダウンロードする場合は、アップロード時と同様、次のコマンドとなります。
$ ruby s3sync.rb -r --delete bucketname:data/ /path/to/data
基本的には、アップロード時と、引数の指定順序を逆にするだけです。
このように「S3Sync」の使い方は、オプションの指定や引数の順序においてrsync
と類似しているので、rsync
を使っている方は違和感なく利用できると思います。「Amazon S3」のストレージへ、ちょっとしたデータのバックアップを行う際、非常に使えるツールと言えるでしょう。
次回予告
今回は「Amazon EC2」のデータを「Amazon S3」と同期するツール「S3Sync」の概要や使い方を紹介しました。
次回は、「Amazon EC2」のインスタンス上で「Windows Server」や「SQL Server」を動かす方法について紹介していく予定です。