Amazon S3 for WordPressを試してみた

Amazon S3 for WordPressを試してみた はてなブックマーク - Amazon S3 for WordPressを試してみた


◆ WordPressの「メディア」をAmazon S3上に展開するプラグイン

とある日、JAWS-UGのタイムライン(#jawsug)を眺めていると、こんな投稿が。

このWordpressのプラグインを使えば、S3のみでWordpressをホストできる。誰か試した方います? http://t.co/brdvqDY #jawsug

どうやら WordPress 向けのプラグインで「 Amazon S3 for WordPress 」というものがあるみたいで…ふむふむ、試してみたのがこの記録です。実際に試したのはかなり前ですが、忘れないように一応 blog に残しておきます。

◆ で、このプラグインは何してくれるの?おいしいの?(^q^)

WordPressは「メディア」という機能で、サーバ上の画像や動画などのリソースを一括管理することが出来ます。一昔前のblogでは、FTPでサーバにファイルをアップしたり、大きさを変えるためには整形する必要がありましたが、WordPressはメディア機能を使うことで、これら機能を全てブラウザ上で完結することが出来ます。

そして、この「メディア」は通常同じサーバ上に展開されるのですが、プラグインを使うことで「Amazon S3」と連携する事が出来ます。単純に連携するだけでなく、アップロードや削除など、Amazon S3 を意識することなく利用出来るのが大きな利点です

メリットを簡単にまとめますと、大きくは次の3つになると思います。

  • Amazon S3 の領域に自動でアップロード出来る(初回設定を済ませるだけ)
  • ローカルサーバにもデータは保存できる(自動バックアップ状態)
  • S3が使える=CloudFrontのエッジサーバとも連携できるので、大規模サイトも安心

とりわけ、データの保存性という意味では、S3を使えるのは大きいと思います。せっかくの大切な写真や動画のデータが消失してしまっては洒落になりません。バックアップは管理者にとって大きな課題です。ですが、このプラグインを使えば、手許のサーバと Amazon S3 の両方でデータを持っておけます。もしもの時も安心ですよね(ちなみにAmazon S3 の SLA は、99.9%/月です)。

※データが保管されるのは、メディア領域の /wp-content/uploads/ 配下のディレクトリのみです。プラグインを導入後にアップロードしたメディアに対して適用されます。S3バケット上に「/<blogのURL>/wp-content/uploads/<年>/<月>/」ディレクトリが自動生成されます。

◆ 導入手順

プラグインが配付されているのは、こちらです。

WordPress › Amazon S3 for WordPress « WordPress Plugins
http://wordpress.org/extend/plugins/tantan-s3/

上記のサイトから、zip ファイルをダウンロードするか、WordPress の管理画面から追加することが出来ます。

管理画面では【 プラグイン 】→【 新規追加 】を選びます。 キーワードに 【 Amazon S3 for WordPress 】を入れて【 プラグインの検索 】をクリックします。

結果画面に、いくつか候補が表示されますが、【 Amazon S3 for WordPress 0.4 】(作者Joe Tan.)を探し、【 いますぐインストール 】をクリックします。

セットアップが終わると、

このように「設定」メニューの中に 【 Amazon S3 】の項目が出てきます。ここをクリックして、更に詳細な設定に移ります。

※なお、ここから先に進む前に、Amazon S3 の契約およびバケットの作成が必要になります。もし未設定という方は、並河さん(@namikawa)の記事が参考になると思います。

Amazon S3を使いこなしてみよう ~Amazon EC2/S3環境構築のすべて~(1/3):CodeZine
http://codezine.jp/article/detail/3232

バケットの準備は整いましたか?あとは、細かなプラグインの設定をすすめます。

設定が必要なのは、基本的な Amazon S3 の項目です。

  • AWS Access Key ID Secret Key を入力します。自分の情報は Security Credentials で確認できます。リンク先の、Your Access Keys を確認します。Security Key は、”Show” をクリックすると表示されます。
  • Use this bucket: の横のメニューで、Amazon S3 上にファイルを置きたいバケットを選択します。選択したバケットの中に「/<blog名/wp-content/uploads/」フォルダが自動作成されます。
  • File Uploads: の横のチェックボックスをクリックします。このチェックが入っていないと、S3 と連携することが出来ません。

必要項目を入力したあとは、【 Save 】をクリックします。これでAmazon S3 と WordPress のメディア機能の連携が完了します。試しにメディアから、適当にファイルをアップロードしてみてください。「 ファイルの URL 」を見てみると、

このように、「http://<s3バケット名>.s3.amazonaws.com/」にファイルが置かれていることがわかります。Amazon S3と連携した状態でも、画像の拡大・縮小・編集など、全ての動作が可能です。

◆ 後から外すことも可

ちなみに、このプラグインは、後から外すことも出来ます。先ほどのプラグイン詳細メニューにある「File Uploads:」のチェックを外すだけで、「ファイルの URL」は自動的にローカルサーバ側の URL に差し替わります。もし Amazon S3 を使わなくなったとしても、切り替えは自在なので、かなり使い勝手の良いプラグインだと思います。

◆ まとめ

Amazon S3 for WordPress プラグインは、ホント簡単に Amazon S3 と簡単に連携できる事が良いですね。一度設定を済ませてしまえば、投稿者は普段、S3 を使っていることは意識することがありません。バックアップ対策に使えるのも大きなポイント。Amazon S3 を常用しつつ、WordPress をお使いの方には、かなりオススメなプラグインではないでしょうか。

#なお、この投稿の画像データは、もちろん S3 上に置いてありますyo!

Maynard_2838

4 thoughts on “Amazon S3 for WordPressを試してみた

  1. Pingback: Tweets that mention Amazon S3 for WordPressを試してみた | Pocketstudio.jp log3 -- Topsy.com

  2. Pingback: 「Amazon S3 for WordPressを試してみた」を試してみた

  3. Pingback: [Amazon][AWS] AWSを利用したWordPressの冗長化構成 | (っ´∀`)っ ゃー

  4. なかじま

    はじめましてこんにちは。
    私は今ec2を使ってみようとして、いろいろとトライしているサーバ管理初心者です。
    ぶつかっている問題の解決策を検索して、このページにたどり着きました。
    アドバイスをいただければ幸いです。
    問題ですが、ec2で動かすphpで、クライアントからのデータアップロード先である/www/html/***/dataの/dataを直接S3へ持って行きたいと考えていることです。
    S3FSという手もありますが、こちらで紹介されているAmazon S3 for WordPress プラグインが使えるのではないか、と考えました。
    WordPress自体は使ったことがありませんが、今後サイトを作る上で使ってみたいとは思っていました。
    ならば、WordPressと使いたいphpのデータ保存先を同じ/dataにして、Amazon S3 for WordPress プラグインの命令でputされて来たデータをS3へ送れないか、と考えたのです。
    逐次S3へ送り込みたいデータは、画像と動画が入ったファイル(圧縮無し)で、少々サイズが大きくなると思います。
    使える可能性はありますか?
    よろしくご教授ください。