Nephila clavata ワードプレス S3の設定

2017年12月3日

Heroku ワードプレスの続編になります。

 

AWS S3の設定

以前の記事(Heroku ワードプレス構築手順)でお伝えしている通り、Herokuはgitでアップロードしたもの以外は再起動すると消えてしまいます

例えば、ワードプレス管理画面からアップロードした画像やプラグインをインストールしたりしても消えてしまいます。

そのため今回は、ワードプレスの管理画面上からアップロードした画像などは、AWSのS3へアップロードされるように設定していきましょう。

ちなみに今回は、ワードプレスとS3の連携が簡単にできるプラグイン「Nephila clavata」を使用して連携させていきたいと思います。

このプラグインのいいところは、初回画像アップロード時に、移行前にwp-contentにあった画像も自動的にS3に保存されるので便利です。移行の際にはとても役に立つかと思います。

バケットの作成

AWS公式手順を参考にバケットを作成しましょう。

バケットの作成 – Amazon Simple Storage Service

 

バケットポリシーの追加

こちらもAWS公式手順を参考にポリシーを追加しましょう。

S3 バケットポリシーを追加する方法 – Amazon Simple Storage Service

 

バケットポリシーの例は、以下を参考にしてください。

Bucket Policy Examples – Amazon Simple Storage Service

 

ここにサンプルコードを掲載しておきます。「Resource」項目の「examplebucket」の部分を自分のバケット名に置き換えてください。

これで、すべてのユーザに読み取り権限が与えられるので、ワードプレスからアップロードして画像を閲覧できるようになります。

 

Nephila clavataインストール

Herokuのワードプレスにプラグインをインストールする方法を参考にインストールしてください。

 

まず公式サイトNephila clavata — WordPress Pluginsのダウンロードボタンからダウンロードしてください。
※本手順では、ダウンロードボタンからリンク先を取得して、wgetでダウンロードしています。

 

以上で、インストールは完了となります。

ワードプレスの管理画面からプラグインを有効化してください。

 

 

AWSアクセスIDとシークレットアクセスキーの取得

まだ取得していない人は以降の設定で使用しますので、以下手順で取得してください。

IAMユーザを作成してキーを取得する方法もあるかと思いますが、ここではより簡単に取得できる方法を掲載します。

セキュリティ面を考慮すると一旦これで作成しておいて、あとから学習してIAMの設定を行えばよいでしょう。

 

AWSマネージメントコンソールにログインをして、右上の[^]のマークをクリックすると以下の一覧が表示されるかと思いますので、「セキュリティ認証情報」を選択してください。

 

以下の画面が表示されますので、「アクセスキー(アクセスキーIDとシークレットアクセスキー)」を選択します。

以下の「新しいアクセスキーの作成」ボタンで作成してください。
作成したアクセスIDとシークレットアクセスキーは、忘れないように保管しておいてください。

 

Nephila clavata設定

最後にAWS S3と連携する際の設定をしていきましょう。

 

ワードプレス管理画面から、「設定」 -> 「Nephila clavata (絡新婦)」 と選択すると以下画面が表示されますので、情報を入力していきましょう。

 

まず、以下を入力し、保存ボタンを押してください。

AWS アクセスキー ID : AWSから入力する

AWS シークレットアクセスキー : AWSから入力する

AWS リージョン : アジア太平洋パシフィック

Storage Class : STANDARD

 

認証が通ると、以下の入力画面が表示されるかと思います。

S3 バケット : バケット名
※プルダウンから選択できるようになる

S3 URL : http://[バケット名].s3-website-ap-northeast-1.amazonaws.com
※何も入力しないで保存すると自動入力されるはず。

 

これで、「変更を保存」を選択し、保存してください。

通常通りに、ワードプレスの管理画面から画像をアップロードしても、S3に保存されますので、Heroku再起動後も画像が削除されません。

また初回画像アップロード時に、移行前にwp-contentにあった画像も自動的にS3に保存されますので、移行の際も便利です。

AWS, WordPress

Posted by あき