前回の記事でS3に置いた画像ファイルを Clooud Front で配信できるようにしました。
今回は、Wordpressの画像をS3にアップロードできるようにします。
導入プラグイン
導入するプラグインは以下の2つです。こちらをインストールします。
- Amazon Web Service
- WP Offload S3
ここで、「WP Offload S3」は無料版だと既にWordpressにアップロード済の画像はS3へ持っていくことができないので、既存サイトの場合は有料版を導入します。
新規でサイトを構築する場合は無料版で充分かと思います。
Amazon Web Service プラグインの設定
WordPress管理画面の左メニューから「AWS」をクリックします。
以下の画面が開きます。
s3へのアクセスキーとシークレットキーはwp-configに記述するか、データベースに保存するか選べます。wp-config.phpに記述することが推奨されているようなので、こちらで対応します。
wordpressのwp-config.phpに取得済のS3のIAMのアクセスキーとシークレットキーを記述します。
define( ‘AWS_ACCESS_KEY_ID’, ‘********************’ );
define( ‘AWS_SECRET_ACCESS_KEY’, ‘********************************’ );
追記後に、再度メニューを開くと以下のように表示されます。
WP Offload S3 プラグインの設定
管理画面のメニューでAWSの下の「S3 and CloudFront」をクリックします。
以下の画面が表示されます。
有料版の為、「enter your license key.」をクリックしてライセンスを入力してアクティベーションします。
その後、「Browse existing buckets」をクリックすると、設定したIAMのキーで参照できるバケットの一覧が出てきます。
アップロードしたバゲットを選択すると以下の画面が開きます。メディアライブラリのURLも書き換えてくれる設定もONにします。
「CloudFront or Custom Domain」をONにして、前回の記事で設定したCloudFront のドメインを入力します。「Force HTTPS」もONにします。
あとは、ファイルをEC2サーバ上に残すかの設定もできます。
設定を保存すると、有料版だとS3へ既存のメディアファイルをS3にアップロードするボタンが表示されます。
「Upload Now」をクリックすると既存のメディアファイルのS3へのアップロードが開始されます。
アップロードが完了すると以下のような、S3から全てのメディアファイルをサーバへダウンロードするボタンと、S3のファイルを全て削除するボタンも表示されるようになります。
メディアファイルのURLの確認
メディアから画像ファイルの詳細を確認するとURLが https://xxxxx.clooudfront.net となっていることが確認できます。