はじめてのAmazon EC2&S3 ~これからの新サービスの公開の形~
第2回 Amazon S3をバックアップストレージとして使おう
Amazon S3をバックアップストレージとして使おう
S3は,
そこで今回は,
なお,
Rubyライブラリaws-s3の導入
RubyからS3を操作するライブラリは複数用意されていますが,
aws-s3はRubyGemsで提供されていますので,
# gem install aws-s3
バケット一覧の取得
まずは練習として,
リスト1 ls_
#!/usr/bin/env ruby
require 'rubygems'
require 'aws/s3'
include AWS::S3
Base.establish_connection!(
:access_key_id => '<Access Key Id>',
:secret_access_key => '<Secret Access Key>'
)
p Service.buckets
AWS::S3::Service.
$ ruby ls_buskets.rb [#<AWS::S3::Bucket:0x4371c8 @attributes={"name"=>"webdbpress", "creation_date"=>Mon Jan 07 17:53:37 UTC 2008}, @object_cache=[]>]
ファイル一覧の取得
もう一つ練習として,
リスト2 ls_
#!/usr/bin/env ruby
require 'rubygems'
require 'aws/s3'
include AWS::S3
Base.establish_connection!(
:access_key_id => '<Access Key Id>',
:secret_access_key => '<Secret Access Key>'
)
bucket = Bucket.find('webdbpress')
bucket.objects.each do |object|
puts object.key
end
$ ruby ls_webdbpress.rb yun_3263.jpg
このように,
ファイルの保存
ではいよいよバックアップアプリケーションを作りましょう。
S3へのファイルの保存も簡単です。S3Objectクラスを通じてファイル名とバケット名を指定すると,
リスト3は,
リスト3 s3_
#!/usr/bin/env ruby
require 'rubygems'
require 'aws/s3'
require 'tempfile'
include AWS::S3
Base.establish_connection!(
:access_key_id => '<Access Key Id>',
:secret_access_key => '<Secret Access Key>'
)
bucket_name = 'webdbpress'
folder = '/Users/masuidrive/tmp/webdbpress-ec2'
tempfile = Tempfile.open(bucket_name)
tempfile.close
system "tar", "cfz", tempfile.path, folder
key = '%s.tar.gz' % Time.now.strftime("%Y%m%d%H%M%S")
S3Object.store(key, tempfile.open, bucket_name)
puts "Backup to %s/%s", bucket_name, key
このスクリプトを実行してみましょう。ちょっと時間が経つと,
$ ruby backup_s3.rb Backup to webdbpress/20080108050937.tar.gz
これが実際に保存されているか,
バックアップメディアの管理は難しいものですが,
バックナンバー
はじめてのAmazon EC2&S3 ~これからの新サービスの公開の形~
- 第4回 自分用のイメージファイル(AMI)を作ろう
- 第3回 Amazon EC2でサーバを立てよう
- 第2回 Amazon S3をバックアップストレージとして使おう
- 第1回 仮想マシンレンタルサービスAmazon EC2、大容量ストレージサービスAmazon S3を使ってみよう
関連記事
- 2013年12月18日 Amazon EC2での利便性を引き上げるツール「configinit」登場
- 2013年12月第1週号 1位は,画像のロールオーバー効果のテクニックまとめ,気になるネタは,米アマゾン,超小型無人機の宅配サービス 5年以内に実現へ
- 2013年8月第2週号 1位は,CSSで水平垂直センター揃えをする方法,気になるネタは,「Amazon Art」──美術作品を画廊から直接購入できるオンラインショップがスタート
- 2013年6月第4週号 1位は,スキュアモーフィックデザインの長所と短所,気になるネタは,アマゾンがクラウドファンディングを開始!「Amazon Birthday Gift」
- 第8回 あらためて楽天kobo Touchを見る(2)