ruboty-cloudfront / ruboty に Cloud Front の invalidation 発行させる gem 作った

前回のブログで書いたとおり、このブログを 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

を設定して事なきを得ました。便利!