WordPressの前にCloudFrontを置くためのプラグイン「C3 Cloudfront Clear Cache」を作った話

AMIMOTOアドベントカレンダー25日目にアップされるはずだった記事です。

進捗ダメでした。

AMIMOTO使っているとやはりCloudFrontは使いたくなりますよね。安いし早くなるし。

設置方法はWordPress の前段に CloudFront を配置するという記事を見るのが一番だと思いますので割愛します。

AMIMOTOマネージドホスティングの方でお問い合わせしてくれてもええんやで((꜆꜄•௰•)꜆꜄꜆»

WordPress + CloudFrontの問題点

で、上記の記事にもあるのですがClouFrontのネックは「WordPressからキャッシュの制御ができない」ということでした。

記事更新やテーマを編集した場合、毎回AWSの管理画面からキャッシュ削除しないといけなかったんです。

と、いう事でAWSのAPIからCloudFrontのキャッシュを削除するプラグインをリリースしました。

CloudFront Clear Cache

名前の通り「CloudFrontのキャッシュを消すプラグイン」です。

設定方法

まずはプラグインをダウンロードして有効化してください。
WordPress › C3 Cloudfront Clear Cache « WordPress Plugins

有効化すると、管理画面左メニューの下部に「C3 Settings」というパネルが追加されます。

そこに作成したCloudFrontのディストリビューションIDとCloudFrontを制御できるIAMユーザーのシークレットキーを入力して、保存すれば設定完了です。

スクリーンショット 2015-12-27 1.23.18

IAMの設定方法とかは下の本を見ながらやるといいと思います。

で、設定が終わればあとは記事更新するだけ。

更新前記事のステータスが「公開」になっているものを更新した時と、「公開」ステータスに変更した時にキャッシュ削除するAPIをコールします。

キャッシュ削除が行われた状態(AWS管理画面)

キャッシュ削除が行われた状態(AWS管理画面)

CloudFront側でのキャッシュ削除処理がちょっと時間かかる関係や、キャッシュ削除にちょっとだけ課金があることから5分に1度のみ削除可能となっています。

あとは「C3 Settings」から手動での削除にも対応してますので、テーマを変更した場合などはこちらを使ってください。

スクリーンショット 2015-12-27 1.51.41

GitHubにソースあります

GitHubでソース公開してますので、「この機能欲しい」という人はプルルクください。
megumiteam/c3-cloudfront-clear-cache

テストもちょっとずつですがつけていってるので、そのうち完全自動化させるかもです。

Comment