二流エンジニアの逆襲

二流エンジニアが一流エンジニアになるまでの記録である

wordpressでアップロードする画像をAWS S3 に保存する

画像を上げ始め、EC2の容量が気になりました。そこで、画像などの容量を食うファイルはAWS S3に保存するようにしました。

手順

wordpressプラグインの導入

以下のプラグインをインストールし、有効化します

  • Offload Media
  • Amazon Web Service

AWS AMIで AWS S3 へのフルアクセス権限を作成

「図1. アクセス権限作成」 に作成したアクセス権限を示す。AmazonS3FullAccessをアクセス権限として付与している。アクセスIDと秘密アクセス鍵をメモしておく。

図1. アクセス権限作成

Offload Media の設定

wordpress の管理画面の左メニューバーから、 「AWS」→「Offload Media」 を押下し、Offload Mediaの設定画面に入る。すると、wp-config.php への設定を求められるので、AWS AMIで作成したアクセスキーを wp-config.php へ設定する。詳細は、先ほどインストールしたwordpressプラグイン Offload Media のページを参考にする。

define( 'AS3CF_SETTINGS', serialize( array(
'provider' => 'aws',
'access-key-id' => '************************',
'secret-access-key' => '************************************************',
) ) );

next を押下し、AWS S3バケットの設定画面に遷移する。その後、「Create new bucket」を押下し、AWS S3を作成する。

以下のように、設定したバケットが表示される。

その後、念のため、AWS S3 コンソールで、wp-content/upload が追加されていることを確認します。

うん、できています。

やったことの総括

  1. wordpressプラグインAmazon Web Service」と「Offload Media Lite」を有効とする
  2. AWS AMIでAWS S3へのフルアクセス権限のアクセスキーを取得する。
  3. 2で作成したアクセスキーをwp-config.php のなるべく先頭に挿入する
  4. wordpress 上で Offload Media の設定画面で、バケットを作成し、バケットを設定する