稼働率99.95%以上というSLAを引っさげて10/23に正式版になったAmazon EC2、久しぶりにいじってみました。β版から使っていたカスタムAMIも問題なく動きました。
EC2を使っていると、ローカルで作成したものを起動中のサーバにアップしてブラウザから確認、というようなことをしたいときがありますが、こんなときに便利なのがs3sync.rb。
1.起動中のサーバにインストール
–20:58:13– http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz
=> `s3sync.tar.gz’
Resolving s3.amazonaws.com… 72.21.202.66
Connecting to s3.amazonaws.com|72.21.202.66|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 30,415 (30K) []
100%[============================================================================>] 30,415 –.–K/s
20:58:13 (2.61 MB/s) – `s3sync.tar.gz’ saved [30415/30415]
2.解凍
s3sync/
s3sync/HTTPStreaming.rb
s3sync/README.txt
s3sync/README_s3cmd.txt
s3sync/S3.rb
s3sync/s3cmd.rb
s3sync/s3config.rb
s3sync/s3config.yml.example
s3sync/S3encoder.rb
s3sync/s3sync.rb
s3sync/s3try.rb
s3sync/S3_s3sync_mod.rb
s3sync/thread_generator.rb
3.環境変数の設定
- AWS_ACCESS_KEY_ID:
- AWS_SECRET_ACCESS_KEY:
flashcast:フリーで働くITエンジニア集団のブログ: Amazon Machine Image(AMI)を立ち上げる前にでご紹介した、3.のAccess Key IDと4.のSecret Access Keyです。私の場合、.bash_profileで設定しています。
AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX
AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export AWS_ACCESS_KEY_ID
export AWS_SECRET_ACCESS_KEY
4.EC2からS3へアップロード
コマンドラインからカレント配下のファイルをS3のflashcastバケットのtempにコピーする場合。
Create node uploadtest1.txt
Create node uploadtest2.txt
Create node uploadtest3.txt
※ rubyがインストールされていること!
5.S3からEC2へダウンロード
コマンドラインからflashcastバケットのtemp内のファイルをカレントにコピーする場合。
Create node uploadtest1.txt
Create node uploadtest2.txt
Create node uploadtest3.txt
※ -vオプションは詳細を表示する。Create node uploadtest1.txt・・・が出力されています。
運用中のインスタンスの場合などには、スクリプトを組んで定期的にS3にバックアップするようなことにも利用できるかと思います。