ユーザープロフィール

ゲストさん

クラウドストレージAmazon S3を活用する24のソフトウェア

クラウドストレージAmazon S3を活用する24のソフトウェア

Twitterのプロフィールアイコンの保存に使われたり、Dropboxのファイルの保存場所であったりと新規性のあるWebサービスでは多用されているAmazon S3。日本のWebサービスで徹底的に使っている例はあまり見たことがありませんが、多くのWebサービスで活用されています。

今回はそんなAmazon S3を活用するためのソフトウェアをまとめて紹介します。

Amazon S3の使い方は人によって様々です。Twitterのように画像の保存場所に設定し、トラフィックを分散させることも可能です。また、バックアップ先として使ったり、サーバ間のファイル授受するために利用する人もいます。

Web APIしかないためにあまり一般的でなかったのですが、Webベースの管理画面も登場しています。この機会にAmazon S3を知り、触れてみてください。

Cyberduck

CyberduckはFTP/SFTPクライアントソフトウェアです。セキュリティにも強く、SFTPにも対応しています。国際化の進んだCyberduckは、日本語表示にも対応しています。嬉しいのがファイルの移動に対応している点でしょう。後は対応アプリケーションを指定することで、サーバ上のファイルを直接修正もできます。

S3 Backup - Amazon S3にバックアップ

S3 BackupはAmazon S3をバックアップストレージとして利用するソフトウェアなので、予め申し込みが必要になります。また、その利用は有料なので注意してください。とは言え、ストレージ料金は1GB/月で$0.15、転送量については$0.20/GBとなっています。ということは毎月10GB程度のバックアップをとるのであれば、$3.50くらいで足りるということです。この料金でバックアップストレージの信頼性は非常に高いとなれば、格安とも言える。また、S3 Backupを使えば暗号化の設定や圧縮転送と言った設定も簡単にできます。圧縮しておけばさらに容量の低減になるでしょう。バックアップジョブの作成もでき、指定したフォルダ以下のファイルだけをバックアップすると言った指定も簡単です。

Park Place - Amazon S3クローンを作る

Park PlaceはRubyで作られたソフトウェアで、Mongrelを使ったHTTPサーバを利用してAmazon S3の真似をします。SOAPインタフェースが利用できるようになっています。Amazon S3をオープンソースで構築するのか、と思ったが目指しているのはそういう訳ではないようです。つまりPark Placeを使ってAmazon S3を利用するアプリケーションを効率よく開発できるようにします。既に幾つものソフトウェアがPark Placeを使って構築されています。こうした仕組みは開発中には絶対に必要になります。Web APIを乱暴に使うと先方のサーバに負荷がかかったり、一時的なメンテナンスなどで開発がストップしてしまいます。ローカルで動作させられれば、仕様が変わらない限りは安定した開発が可能になります。

s3fs - Amazon S3をマウントする

s3fsはAmazon S3向けのFUSEです。FUSEを使うことで、通常のファイルシステムと同じ感覚でAmazon S3が利用できるようになります。インスタンスを落とすことで消失すると困るデータはs3fsを使ってマウントしたファイルシステムに入れるか、定期的なバッチでコピーしたりすればいいです。Amazon EC2とS3間のファイル転送は課金されないので、安心して利用できます。また、外部のサーバからであってもデータのバックアップ領域としてAmazon S3を活用する手もあります。ファイルのアクセス権限を変更すると、S3上のメタデータが変更されたり、デフォルトの権限も指定できます。他にもキャッシュ指定をすれば、ローカルサーバ内にキャッシュ領域を作成し、都度S3にアクセスすることはなくなって高速化がはかれます。

S3 Browser - Amazon S3を使うなら必須

S3 BrowserはGUIインタフェースを使って、バケットを一覧したり、作成したりできます。もちろん、各バケットを開ければファイルが一覧され、アップロード/ダウンロードができるようになっています。ファイルアップロードを行う際には、ファイルのコンテンツタイプやアクセス権限を指定できます。ファイルを右クリックしてURLがコピーできたらさらに便利ですが、それはできませんでした。しかし十分に便利です。

S3 Browser - Amazon S3を手軽に扱えるようにする専用クライアント

S3 Browserはフリーウェアですが、Pro版として有料のものも提供されています。ファイルをアップロード、ダウンロードする目的であれば無料版でも十分でしょう。まずバケットの一覧を、アクセスキーシークレットキーの二つを指定して表示します。後は各バケットをクリックすればファイルが一覧されます。任意のファイルやフォルダをアップロード、ダウンロードすることが可能です。英語版のソフトウェアですが、日本語のファイルのアップロード/ダウンロードも問題なく行えます。なお、アップロードはドラッグアンドドロップで行えますが、ダウンロードはそうではないようです。

s3cmd - CUIでAmazon S3を操作する

s3cmdはPythonで作られたソフトウェアで、Amazon S3の操作をターミナルから行うことができます。これであればファイルの送信や受信などをコマンドで行えるようになるので自動化も容易になるでしょう。バケットを作成したり、削除する、一覧を取るなどはもちろんのこと、ファイルを送信したり受信することもできます。ファイルは複数指定でき、さらにフォルダを指定して同期させることもできます。他にもバケットの容量を調査するduコマンドもあります。全てのコマンドは「s3cmd ○○」で行い、その後ろにバケット名やファイル名を書いていく。アクセス権限の設定や、Mime Typeの指定もs3cmdからできます。

SpaceBlock - Amazon S3やAzure Blob storageに対応したストレージフロントエンド

SpaceBlockはAmazon S3、Windows Azure Blob Storage、Nirvanix、SQL Server Data ServicesといったWebサービスと連携して利用できるソフトウェアです。ストレージサービス上に保存されているデータを一覧し、ダウンロードしたり逆にアップロードすることができます。アクセス権限の設定も可能で、アクセス権限の設定もできます。Amazon S3に限定されるようだがメタデータの設定や、サーバログを確認することもできます。Amazon S3向けのフロントエンドとしては優秀な部類になるのではないでしょうか。

CloudBerry Explorer - FTPライクに使えるAmazon S3クライアント

CloudBerry Explorerは二画面ファイラーの表示になっています。FTPソフトウェアの感覚で使えるので分かりやすいです。左右どちらをAmazon S3にすることもでき、両側をAmazon S3にしてファイルをコピーさせることもできます。この場合Amazon S3内での移動になるので転送料がかからないのが利点です。各ファイルについて権限を設定することができます。個人的なバックアップであれば、自分だけ権限を設定すればいいです。人にファイルを渡す場合は誰でも閲覧できる権限をつければいいです。各ファイルのURLを取得することができ、さらにURL短縮サービスを使ってその場で短いURLを得ることも可能です。その他、BitTorrent向けのURLを生成したり、CloudFront(Amazonの提供するCDN)への対応、Microsoft PowerShellによる自動操作などに対応しています。ファイルのメタ情報を変更できないようですが、一般的な操作であれば十分対応できるでしょう。

CloudBuddy Analytics - Amazon S3へのアクセスを解析する

CloudBuddy AnalyticsはAmazon S3用アクセス解析です。Webサービスのアクセス解析は無数に存在しますが、Amazon S3向けアクセス解析というのは珍しいのではないでしょうか。動作はPerlを使い、Webブラウザ向けに提供されるがWindowsへはインストーラー形式で提供されます。メインの統括サーバと、その下に解析エンジンが付属する形式になっています。解析エンジンではユーザ登録とAmazon Webサービスのアクセスキーとシークレットキーを登録します。後は解析したいバケットを登録したら後は解析データが出るまでしばし(数時間)待ちます。解析結果はWebアクセス解析で有名なAWStatの画面を使って表示します。アクセスした数、ファイルやリンク元、IPアドレスといった情報が提供されます。ほぼWeb向けのアクセス解析と変わらないデータが得られるようです。TwitterのようにアイコンをAmazon S3に保存しつつ、Web APIを通じて外部サービスで使われる場合、過剰なアクセスは危険なので、解析結果を使って分析を行うのは必須と言えそうです。

iPhone AWS Manager - iPhone向けAmazon Webサービス管理インタフェース

管理できるのはAmazon EC2またはS3となっています。EC2についてはパブリックなインスタンスイメージを一覧したり、自分の立ち上がっているインスタンスを見る機能があります。パブリックなインスタンスを選ぶと、その場で開始しようとするようです(筆者環境ではエラーが出ました)。S3についてはバケットを作る、または既存のバケットを一覧することができます。さらにファイルも一覧することができるのですが、ここでファイルを選ぶといきなり削除実行されるので注意してください。インスタンスについては試していませんが、もしかすると同様にインスタンスを終了する可能性があるのでくれぐれも注意してください。

CodePlex.SpaceBlock - Windowsの各種オンラインストレージフロントエンド

CodePlex.SpaceBlockはローカルドライブ、Amazon S3、Nirvanix、SQL Server Data Service、Windows Azure Blob StorageそしてSun Cloud Storageに対応しています。それぞれ複数のアカウントを登録することも可能です。面白いのはローカルとオンラインだけでなく、オンラインとオンライン間でファイルの授受ができることです。対応しているサービスによっては権限を変更したり、Content-Typeを追加したりすることもできます。アクセスするためのURLを生成したりもできるなど、オンラインストレージを活用していくのに便利なツールと言えるでしょう。

Duplicati - 様々なストレージに対応したバックアップソフトウェア

Duplicatiはウィザード形式でバックアップ設定を行えるソフトウェアです。対応しているのはローカルまたはLAN内のドライブ、FTP、SSH、WebDAVそしてAmazon S3となっています。設定した後はバックアップのタイミングについて、細かく設定ができます。バックアップはパスワードで暗号化処理ができます。そのためリストアもウィザード形式でできます。オンライン上のサービスにそのまま預けるのが怖い、という人でもセキュリティをかけておけば安心でしょう。フルバックアップを履歴管理する回数を設定できたり、サイズのリミットを設ける、ファイルをパターン指定してバックアップしないようにすることもできます。普段は常駐するソフトウェアですが、エラーが起きる前の予防策として活躍してくれることでしょう。

s3-bash - Amazon S3をシェルで操作する

s3-bashはなんとBashスクリプトを使ってAmazon S3のファイル操作を行うソフトウェアです。個人的にはPython製のs3cmdをよく使っていますが、もっとシンプルな使い方であればs3-bashのが良いかも知れません。殆ど設定も必要とせず使えるのが利点です。用意されているのはファイルの取得、アップロードそして削除となっています。それぞれs3-get/s3-put/s3-deleteとコマンドが分かれています。ファイル名を固定でファイルの授受をしたい時に使えそうなソフトウェアです。

BrowserCrawler - Safariで見ているページを含めてリンク先もまとめてAmazon S3へ保存

BrowserCrawlerはSafari機能拡張で、ボタン一つで現在表示されているページとその先のリンク先を含めたクローリングを行ってくれます。データはAmazon S3に保存する仕組みになっています。なお保存されるのはHTMLのみで、画像は保存されないようです。S3の指定したバケットの中に、ドメイン名のフォルダができ、さらにその中にパスに合わせてフォルダが作られてファイルが保存されます。画像や動画を保存したいという用途には向かありませんが、テキストで全文検索したいという時には便利そうです。リファレンスサイトやプロジェクトサイト全体を保存しておきたいという時に使えるでしょう。

Tumbless - Amazon S3を使ったサーバレスなブログシステム

ブログシステムはどんどんカジュアルな方へ進化しているように感じます。データベースレスになり、静的サイトになり、余計な仕組みを取り払って提供されるようになっています。今回はその最新版ともいえるTumblessを紹介します。Amazon S3を使うことで、サーバレスアーキテクチャを実現しています。

Go Fake S3 - Go製の開発用Amazon S3クローン

Webアプリケーションを提供する上でAmazon S3をストレージとして使いたいと思う人は多いはずです。便利なのですが、開発時にもお金がかかってしまうこと、オフライン時に使えないのが難点です。そこで使いたいのがAmazon S3クローン系のシステムです。Go Fake S3はベースにBoltDBを使っています。

Stout – Amazon S3用静的サイトデプロイツール

Amazon S3には静的なファイルホスティング機能があります。便利ですが、多少は設定が必要であったり、S3にアップロードする時の手間が発生します。そこで使ってみたいのがStout、S3対応の静的サイトデプロイツールです。Stoutはcreateサブコマンドを使ってバケットの作成とRoute53へのドメイン設定追加を行ってくれます(ゾーンは予め作っておく必要があります)。

Cloud Explorer - Java製のAmazon S3クライアント

アプリやWebシステム開発の際にAmazon S3を使うことは多いかと思います。画像やJavaScript、スタイルシートといったリソースを保存しておいたり、システムのログを保存しておくこともあるでしょう。そんなAmazon S3のJavaクライアントがCloud Explorerです。マルチプラットフォームで動作する点が利点と言えそうです。

ImageS3 – シンプルなAmazon S3アップロードマネージャ

ImageS3はAmazon S3のフロントに立つシステムで、好きなBucketにファイルをアップロードです。ImageS3はわざわざAmazon S3対応のアップローダーなどを使う必要がないのがとても楽です。システムと連動しない画像をアップロードするのにちょうど良さそうです。認証用のキーを不用意に公開する必要もなく、運用に良さそうです。

s3cp - ディレクトリ/ファイルをS3にアップロード

Amazon S3へのファイルアップロードに便利なツールがs3cpです。ファイルやディレクトリをまとめて一気にアップロードできます。s3cpはGoで作られており、バイナリがダウンロードできます。なお今のところWindowsには対応していません。

Amazon S3 Directory Browser – ApacheのDirectory Index風にS3を閲覧

Amazon S3 Directory Browserを使うとファイル、フォルダの一覧がApacheのDirectory Indexのようにシンプルに使えるようになります。WebサーバのDirectory Indexをきれいに表示するライブラリもありますが、Amazon S3 Directory Browserを使っても良さそうですね。

Amazon S3でWebサイトを運営するためのスクリプト「s3_website」

Webサイトを管理する場合はどこにホスティングするのが良いでしょう。もし静的なサイトであれば意外と良い選択肢になりそうなのがAmazon S3です。そこで使ってみたいのがs3_websiteです。インストールはRubygemsで簡単にできます。ついで設定ファイルを作成します。s3_website cfg createを実行すれば設定ファイルが生成されます。

Google App Engineを使ってAmazon S3ライクなオンラインストレージを構築「Troois」

GoogleもGoogle Strageを提供しているのでWeb APIを使ってクラウドストレージとして利用することもできるのですが、それでもこの手のニーズはなかなかなくなりません。HTTPからアクセスできれば、クラウドの外部ファイル置き場としても使えそうです。Trooisはまだまだごく小さいソフトウェアなので自分で拡張するのもさほど難しくなさそうです。チームでのファイル共有などにも使えるかも知れません。

まとめ

Amazon S3の価格は執筆当時で1GBあたり0.15ドル(約13円)となっています。またデータ転送やリクエストによっても料金が発生しますが、EC2間でのデータ転送は無料になっています。なお新規ユーザに限って5GBまで無料で利用可能となっています。単純なバックアップはもちろん、Webサービスと連携させてみたりするのも面白いのではないでしょうか。

PR_infeed

PR_Relative

オウンドメディア運営会社の皆様へ

s

ページトップ