前回のブログで書いたとおり、このブログを HTTP/2 化するにあたって、fastly から AWS Cloud Front に移行しました。
んで、 fastly と違って AWS Cloud Front は invalidation が即時じゃなく、20分くらいかかります(fastly が早すぎるのであって CF は悪くない)。ので、現在の invalidation の状態も見れつつ、 purge も簡単にしたいよねってことで、いつもどおり Slack bot に機能を積むことにしました。
https://github.com/zeny-io/ruboty-cloudfront
ruboty で制御するので簡単です。が、ちょっとめんどくさいのが purge の記法。
@ruboty cf purge https://zeny.io/*
みたいなこと書かないといけないし、もっと面倒なのが invalidation の状態のチェックで、
@ruboty cf list invalidations
みたいにしないといけない。半分くらい魔法でちょっとよくわかんない!ということで自作した ruboty-scoped-alias を使って、ブログ用のチャンネルに
@ruboty clear cache # 実態は cf purge https://zeny.io/*
@ruboty check cache # 実態は cf list invalidations
を設定して事なきを得ました。便利!