Amazon S3はiCloud Driveのようなクラウド・ストレージ。ファイルを遠隔地にあるサーバに置いておける有料サービスです。ローカル・ハードディスクには日々のバックアップとシステムアップデートなどシステムに大きな変更が加わるときの定期バックアップで二重にしていますがハードディスクが突然認識できなくなる経験をしていると用心して「これは絶対に消えたら困る」ファイルをクラウド・ストレージに置くようにしました。とりあえずはレンタルサーバに置いていましたがディスクの空きが無くなってきてのでAmazon S3を利用するようにしました。Amazon S3にしたのは信頼性と低料金、そして拡張性が決め手となりました。
これまでにもAmazon S3への移行は幾度か考えたことはあったのですがサービスメニューが英語であったことと手続きが難しいように感じていたので躊躇してました。しかし、サービスメニューがある程度日本語化されてきたのを期にお試し運用から始めることにしたのでした。それとAWS(Amazon Web Services)アカウントはamazon.co.jpでよく買い物をするので持っていたことと、これまでのお付き合いで生まれた信頼ですかね。
さて、Amazon S3が使えるまでの手順を簡単に説明します。
- AWSアカウントの作成
- バケットを作成/設定
- ユーザーの作成/設定
以上です。意外と簡単でした。
AWSアカウントの作成
Amazonでクレジットカードを利用して買い物をした人はそのままAmazonアカウントをAWSアカウントとして使えます。持っていない人はaws.amazon.comでアカウントを作成してください。
バケットを作成/設定
AWSアカウントを使ってログインするとサービス一覧が表示されるので「ストレージ & コンテンツ配信」にある「S3」をクリックして進みます。S3コンソール画面が表示されたら左上にある「バケットを作成」を押してバケットを作成します。このバケットはフォルダのようなものです。「バケットの作成」画面が出てきたら「バケット名」の入力と「リージョン」の選択を行います。バケット名の命名ルールには「小文字、数字、ピリオド(.)、ハイフン(-)を含めることができます。」と書かれていますがピリオドの使用は控えた方がいいでしょう。クライアントアプリによって証明書の参照でエラーが出ることがあるからです。
バケットの「アクセス許可」を設定します。バケットのプロパティ・ペインからアクセス許可をクリックしてプルダウンします。下段にある「バケットポリシーの編集」ボタンをクリックしてバケットポリシーエディターを表示させます。はじめて表示させた場合はここに何も書かれていません。下段にある「バケットポリシー例」リンクをクリックしてバケットポリシーの例一覧を表示させます。Topicsの2番目に書かれている「匿名ユーザーへの読み取り専用アクセス許可の付与」を参照しサンプルコードをコピーします。バケットポリシーエディターに戻りサンプルコードをペーストします。9行目にかかれているexamplebucket
を先ほど作成したバケット名に書き換えます。「保存」ボタンを押して作業を完了します。
ユーザーの作成/設定
Amazon S3にアクセスできる権限を持ったユーザーを作成します。ウェブアプリ上段にあるアカウントをプルダウンします。「認証情報」項目をクリックしてIAMコンソールを表示します。するとダイアログが表示されますので「IAMユーザーの使用開始」ボタンをクリックしてIAMユーザーコンソールを表示します。左上にある「新規ユーザーの作成」ボタンをクリックして新規ユーザー作成画面で任意のユーザー名を入れ作成します。IAMユーザーコンソールに戻りますので先ほど作成したユーザー項目をクリックして詳細情報を表示させます。3番目のアクセス許可をクリック/プルダウンさせ表示します。管理プリシーをクリック/プルダウンさせ「ポリシーのアタッチ」ボタンをクリックし「AmazonS3FullAccess」にチェックを入れて「ポリシーのアタッチ」ボタンで確定します。
以上が作業のおおまかな流れです。