ヤマムギ

growing hard days.

*

WordPress(EC2)の画像のS3へのオフロードをMedia Cloudで

      2019/10/31


タイトル通りですが、画像をwebサーバー(EC2)からではなく、S3バケットから配信します。
よくある構成ですが、この要件を満たすプラグインはわりと限られていたりします。

どうしても今回やりたっかたのは、「EBSに画像データを保存しない」です。
これを満たせるプラグインを探していて出会ったのが、「Media Cloud」でした。

ちなみに私のブログ環境は、CloudFrontを使用しています。
アーキテクチャはこんな感じです。

プラグインのインストール

WordPressのプラグイン追加で”Media Cloud”を検索しました。

こちらです。
インストールして

有効化しました。

Media Cloudの設定

Cloud StorageをONにしました。

ついでに付属のCrop ToolもONにしました。

StorageはS3を選択しました。
他はGCPとかも対応しているようです。

IAMロールは残念ながら対応していないようですので、アクセスキーを使用します。

該当のIAMユーザーのポリシーは次のようにしました。

あんまり意味ないかもですが、Transfer AccelerationもオプションであったのでONにしました。
バケット側でもONにしました。

選択肢はPublicReadをONしかないようです。
CloudFrontでOAIを有効にしてますので、ここはS3の「任意のアクセスコントロールリスト (ACL) を介して許可されたバケットとオブジェクトへのパブリックアクセスをブロックする」をONにすることでどこからでもアクセスされてしまうことを防いでます。

プレフィックスの設定です。
年月プレフィックスが作成されるようにしています。

対象メディアファイルの選択は全ファイルにしてます。

アップロードしたファイルをサーバー上から削除することと、削除したファイルをS3から削除、は両方とも有効にしています。
これが一番やりたかったことです。
こうすることで、EBSの容量をほぼ気にすることなく運用を続けられます。

CloudFrontを使用しているので、URLを直接指定します。

テスト

最初テストしたとき、なぜか、アップロードは wp-content/uploads/2019/10/~.png にアップロードされたのに、記事内リンクは、wp-content/uploads/が重複するという現象がおきました。

原因は既存のプラグインの EWWW Image Optimizerのようです。
いさぎよくEWWW Image Optimizerを停止すると、パスは重複せず、正常になりました。

ここでは詳しくは書きませんが、もちろんCloudFrontで、S3バケットをオリジンに設定して、Behaviorsでパスに応じてオリジンを分岐させます。
これでメディアファイルはS3からの配信になります。


最後までお読みいただきましてありがとうございました!

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

 - 未分類 , ,

ad

ad

  関連記事

食べログの「ブログに店舗情報を貼る」便利ですね

もうひとつ書いてるブログがありまして、主に自転車の走行記録を書いてたのですが、最 …

PCのステッカーをなるべくきれいに剥がしてみる

会社の業務用PCを返却しないといけない時期になりまして、3年使用した業務用PC( …

スターバックスのMOBILE ORDER & PAYがものすごく楽でした

この動画、2020年8月に公開されてるってことは去年からあったのでしょうか。 知 …

2020年もありがとうございました!!

今年も皆々様ありがとうございました。 2020年振り返りです〜 2020年という …

アルバイトが休みになっちゃった学生さんへ

50名の方に拙著をお送りします 抽選で50名の方に、拙著をお送りします。 手元に …

2021年のアウトプット(進捗更新)

2021年のアウトプットを時々更新していきます。 2021/12/31になったら …

仰向けゴロ寝デスク2を導入しました(このブログは寝ながら書きました)

「THANKO スマホタブレット対応超軽量折りたたみ式「仰向けゴロ寝デスク2」 …

机上ラックを導入しました

43.4インチ曲面ディスプレイ(PHILIPS 439P9H1/11)を導入しま …

思っていることを口にしたらこうなった

このブログは、2018年8月24日に開催されたSUMMER JIMAN JAMで …

新幹線車内無料Wi-Fiサービスが便利でした

久しぶりに新幹線に乗ったら、無料のWi-Fiサービスがありました。 今までは、テ …