コンクリートファイブジャパン 菱川です。
今回は、Amazon が提供するCDNサービス「CloudFront」でキャッシュされているオブジェクトを、PHP SDK v3 を使って無効化する方法をご紹介します。v3 になってまた書き方が変わりましたので、その忘備録も兼ねてます。
CloudFront では、エッジキャッシュ上のオブジェクトを無効化するバッチをAPI経由で作成することができます。オブジェクトを無効にするには、個々のオブジェクトのパスまたは * ワイルドカードで終わるパスのいずれかを指定します。ワイルドカードが使用できるようになったことで、API 経由での無効化がやりやすくなりました。
参考資料:
- オブジェクトの無効化(ウェブディストリビューションのみ) - Amazon CloudFront 開発者ガイド
- 無効化の送信 - Amazon CloudFront API リファレンス
- AWS PHP SDK v3 の Amazon CloudFront ドキュメント
まず最初に、クライアントのインスタンスを作成します。リージョンとアクセスキーが必要です。また、v3 から API のバージョン指定が必須になりました。
また、ここハマりポイントなのですが、CloudFront はリージョン指定に us-east-1 しか受け付けません。無くても怒られるので、忘れてると時間を無駄にします。。脱力。。