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」の部分を自分のバケット名に置き換えてください。
これで、すべてのユーザに読み取り権限が与えられるので、ワードプレスからアップロードして画像を閲覧できるようになります。
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AddPerm", "Effect":"Allow", "Principal": "*", "Action":["s3:GetObject"], "Resource":["arn:aws:s3:::examplebucket/*"] } ] }
Nephila clavataインストール
Herokuのワードプレスにプラグインをインストールする方法を参考にインストールしてください。
まず公式サイトNephila clavata — WordPress Pluginsのダウンロードボタンからダウンロードしてください。
※本手順では、ダウンロードボタンからリンク先を取得して、wgetでダウンロードしています。
# wget https://downloads.wordpress.org/plugin/nephila-clavata.0.2.5.zip # unzip nephila-clavata.0.2.5.zip # mv nephila-clavata /[ワードプレスディレクトリ]/wp-content/plugins/ # git add . # git ci -m "add nephila-clavata" # git push heroku master
以上で、インストールは完了となります。
ワードプレスの管理画面からプラグインを有効化してください。
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に保存されますので、移行の際も便利です。
コメント