WordPressにamazon CloudFrontを導入


amazon のCDN、CloudFrontを使ってみたかったので、このブログで試してみましたメモ。

1.FireFoxに「S3 FireFox Organizer」をインストールする(必要事項を設定)

2.CloudFrontで公開するためのバケットを作成する

3.作成したバケットにdistributionを作成する
 ※ [Manage Distributions]-[Create Distribution]
 ※ 独自ドメインでアクセスしたい場合はCNAMEも指定(例:cdn.ogaworks.com)

4.DNSにレコードを追加する
 ※ 例:cname cdn **************.cloudfront.net.

5.EC2からS3にデータをコピーするためにs3sync.rbを実行するshを作成。

#!/bin/bash
cd /usr/local/s3sync/
export AWS_ACCESS_KEY_ID=********************
export AWS_SECRET_ACCESS_KEY=****************
ruby s3sync.rb -r /www/wp-content/ [バケット名]:wp-content/ –public-read

 ※ –public-read:転送したファイルをreadableにするオプション
 ※ ファイルのパーミッションは0700
 ※ cronで起動する

6.WordPressの管理画面でアップロードファイルの参照パスを設定する
 ※ [Settings]-[その他の設定]-[Full URL path to files]
 ※ 例:http://cdn.ogaworks.com/wp-content/uploads

とりあえず、これで今後アップする画像はCloudFrontに対応。でも、EC2とS3間の転送がcron起動なので、アップした画像が表示されるまでに時間差が生じてしまうのが難点です。Amazon S3 PHP Classとかを使って直接S3にアップするWordPressプラグインを作った方がスマートかなと。

ところで画像表示について、やっぱりEC2と比べればCloudFrontは断然速いです。

オリジナル)http://www.ogaworks.com/wp-content/uploads/2009/03/ca3a01161.jpg

CloudFront)http://www.ogaworks.com/wp-content/uploads/2009/03/ca3a01161.jpg

さっぱりデザインのサイトはEC2で十分だと思いますが(api.gogo.gsとか)、ゴテゴテ系のサイトは、コンテンツやデザイン画像、CSSやJSファイルを持ってくるとそれなりに効果が有りそうです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です