Amazon S3を利用する
バケットの作成
Amazon S3では、まず「バケット(Bucket)」を作成する必要があります。バケットとは、トップディレクトリに相当するものです。例えば、「bucketname」という名前のバケットを作成した際、そのバケット以下のファイルにアクセスするURLは次のようになります。
http://bucketname.s3.amazonaws.com/...http://s3.amazonaws.com/bucketname/...
バケットの作成には、まず「S3Fox」の右上のエリアで、[右クリック]-[Create Directory]を選択します。
次に、[Folder Name]の欄に作成するバケットの名前を入力しましょう(図12参照)。ここで入力するバケット名は、Amazon S3全体で一意のものとなります。既に他の誰かが作成したバケット名は登録できないので、注意が必要です。

なおデフォルトでは、バケット以下に置かれるデータはアメリカに設置されますが、バケット作成時に[Place this bucket in Europe]にチェックを入れておくことで、そのバケット以下のデータをヨーロッパに設置できます。これは、ネットワーク距離やディザスタ対策などでデータのロケーションを考慮する場合は、重要なオプションとなりうるでしょう。
ファイルのアップロード/ダウンロード
それでは、まずファイルをアップロードしてみましょう。
アップロードは物凄く簡単です。「S3Fox」から、先ほど作成したバケットのディレクトリをダブルクリックして開き、そこへファイルをドラッグ&ドロップするだけです。
「S3Fox」は、普通のエクスプローラなどのファイラーやFTPクライアントソフトと同様の直感的な操作ができるようになっており、画面左側のエリアがローカルディスク、画面右側のエリアがAmazon S3のストレージのファイルリストとなっています(図13参照)。
アップロード中は、「S3Fox」下部のプログレスバーにて現在の進行状況を確認できます。アップロード完了後は、「S3Fox」にてアップロードしたファイルを確認することができるかと思います。
ダウンロードについてもアップロード同様で、Amazon S3にアップロードされているファイルをドラッグ&ドロップするのみです。
アクセス権の設定
デフォルトの状態では、アップロードしたファイルは自分自身のみしかアクセス可能となっていませんので、誰でもアクセス可能とするためには、ACL(Access Control List)の設定を変更する必要があります。
「S3 Fox」の画面右側にある「Amazon S3」に配置しているファイルのうち、公開したいファイルを右クリックし、[Edit ACL]をクリックします。
「Everyone」行の「Read」列のアイコンをクリックし、『赤い×マーク』が、『緑のチェックマーク』に変われば、アクセス可能となります(図14参照)。

なお、親ディレクトリのACLも同様に設定する必要があるため、実運用時は公開専用のバケットやディレクトリを用意し、そのディレクトリ以下をすべて公開する方法がよいかもしれません。親ディレクトリのACLの設定時に[Apply to subfolders]のチェックを入れて[Save]ボタンをクリックすることで、そのディレクトリ以下のすべてのファイル・ディレクトリのACLに対しても設定を適用することができます。
全員に公開したファイルは、次のURLでアクセスすることも可能です。
http://s3.amazonaws.com/${バケット名}/${アップロードしたファイル名}
ACLの設定では、この他にも特定のユーザーのみにファイルを公開することができます。ただし、その場合はファイルを受け渡したい相手のユーザーも、Amazon Web Servicesのアカウントを持っていることが前提となります。
設定する際は、先ほどのACLの設定画面にて[Share]ボタンをクリックし、公開したいユーザーのAccess IDかメールアドレス(Amazon Web Servicesのアカウントで登録されているメールアドレス)を入力します。すると、ACLリストにそのユーザーの行が追加されます。その行を先ほどの「Everyone」と同様に設定(Read/Write等)することで、アクセス権を自分以外の他ユーザーにも付与できます。
次回予告
今回は、「Amazon S3」をFirefoxのアドオンである「S3Fox」から簡単に利用する方法を紹介しました。
「Amazon S3」を使うことで、安価で簡単に大容量のファイルや公開制限をつけたファイルのやり取りができることをご理解いただけたかと思います。
次回は、仮想マシンのホスティングサービスである「Amazon EC2」の詳細な利用方法を紹介していく予定です。

