WordPressカスタマイズ事例

WordPressサイトでAWS S3とCloudFrontをつかってCDNを実現する

動画サイトなど、サーバ負荷が高く、Webサーバからのネットワークが遅いと、再生ボタンを押しても一向に動画が始まらないなんていう残念なサイトになってしまうようなサイトの制作の場合、動画をCDNに置くことでそれらを一気に解決することができます。
※ CDN:世界中に張り巡らされた専用の配信ネットワークを利用して、Webサイトにアクセスしているエンドユーザに最も近い配信拠点から効率的かつ高速にコンテンツを配信する仕組みのこと。
 
CDNに動画を置くことでサイト自体を置くWebサーバには負荷はかからないため、Webサーバは普通のレンタルサーバで済む一方、ユーザには高速で動画を配信できるメリットがあって、動画サイトを作ろうとするなら必須の仕組みかと思います。
 
そこで今回は、WordPressで動画サイトなどを制作するときに、動画をAWSのS3に置いてCloudFrontを使ってCDNから動画を配信する方法のご紹介。
 
まず、AWS側の設定。このへんは、より詳しい公式/非公式のサイトがあると思いますので、ここではざっくり説明します。

  1. S3バケットを作成、ホスティングする
  2. セキュリティ認証情報でアクセスキーを取得、そのアクセスキーに、作ったS3バケットへのアクセス権を付与します。
  3. CloudFrontを作成、domainNameに作ったS3バケットを設定

これで、作成したCloudFrontのドメインでS3バケットへアクセスできるCDNができあがります。
 
AWS側の設定ができたら、次はWordPress。
必須のプラグインがありますので以下をインストールします。

 
次にAWSで取得したアクセスキーをwp-config.phpに以下のように追記します。

define( 'DBI_AWS_ACCESS_KEY_ID', 'アクセスID' );
define( 'DBI_AWS_SECRET_ACCESS_KEY', 'アクセスキー' );

ここまでできたらプラグインとAWSとの接続ができている状態ですので、プラグイン「Offload Media」の設定を開きます。

  • 「Bucket」の「change」をクリックするとS3バケットを自動ロードしてくれますので、作成したバケットを選択
  • 「Custom Domain (CNAME)」にはCloudFrontのドメインを設定

これで、完成です。
メディアにアップロードするとS3にもアップロードされ、WordPressが埋め込むメディアの参照URLは自動でクラウドフロントのほうに向きます。
 
動画など重いファイルを置くサイトも増えるでしょうから、今後WordPressサイトでもCDNを多用するサイトが多くなるでしょうね。


関連するWordPressカスタマイズ事例