よくある質問

キャッシュクリアが反映されないとき、エラーが表示されるときなど、よくある質問とその対処方法をご案内します。

「キャッシュをクリア」ボタンが表示されません

次の点をご確認ください。

  • サイトのダッシュボードを開いていますか?(システム画面では表示されません)
  • サインインしているユーザーに「AWS CloudFront のキャッシュを削除」パーミッションが付与されていますか?
  • システムまたはサイトの CloudFront 設定が保存されていますか?

「キャッシュをクリアする権限がありません。」と表示されます

サインインユーザーのロールに「AWS CloudFront のキャッシュを削除」パーミッションが含まれているかご確認ください。「権限(パーミッション)の設定」をご参照ください。

「AWS アクセスキーが見つかりません。」と表示されます

システム設定またはサイト設定のいずれにも、AWS アクセスキーが保存されていない可能性があります。「システム設定(AWS 認証情報)」の手順に沿って入力・保存してください。

「無効化するパスが見つかりません。」と表示されます

CloudFront 設定でディストリビューション ID は登録されているものの、対応する「キャッシュを無効化するパス」が空のままになっている可能性があります。少なくとも 1 つのパス(例: /*)を入力してから保存してください。

「エラーが発生しました。」と表示されます

AWS 側からエラーが返ってきた場合のメッセージです。次の観点でご確認ください。

  • アクセスキー ID とシークレットの組み合わせが正しいか
  • その IAM ユーザーに cloudfront:CreateInvalidation 権限が付与されているか
  • ディストリビューション ID が正しく、削除されていないか
  • パスがスラッシュで始まっているか

詳細なエラー情報は Movable Type のシステムログ(「ツール > ログ」)の CloudFrontClearCaches: から始まるエントリーに記録されます。

反映までに時間がかかります

CloudFront の Invalidation は世界中のエッジロケーションに伝播するため、完了まで通常数十秒から数分かかります。実行直後にキャッシュが残っているように見えても、しばらく待ってから再度ご確認ください。

同じパスを大量に無効化すると課金されますか?

AWS CloudFront の Invalidation は、月ごとに無料枠(1,000 パスまで)を超えるとパス単位で課金されます。本プラグインで複数パスを大量に発行する運用では、AWS の料金体系をあらかじめご確認ください。

Movable Type で作成していない静的なページもキャッシュクリアできますか?

できます。本プラグインは、設定された「ディストリビューション ID」と「キャッシュを無効化するパス」を、そのまま CloudFront の無効化リクエストとして送信します。Movable Type が生成したファイルかどうかを判定する処理は行っていないため、同一のディストリビューションから配信されているファイルであれば、Movable Type で生成したページと手作業で制作した静的ページの区別なく、指定したパスに合致するものがすべて無効化の対象になります。

パスはサーバー内の物理パスではなく、スラッシュから始まる配信 URL 上のパスで指定してください。パスは複数登録できますので、Movable Type の出力先とは別に、静的ページのディレクトリを追加していただく形になります。配信するディストリビューションが分かれている場合も、「ディストリビューションを追加」ボタンで複数登録すれば、1 回の実行でまとめて無効化リクエストを送信します。

サイトごとに異なるパスをキャッシュクリアできますか?

できます。「キャッシュをクリア」ボタンを押すと、そのボタンを押したサイトのプラグイン設定が参照され、そこに登録されたディストリビューション ID とパスに対して無効化リクエストが送信されます。サイト(子サイトを含む)ごとに異なるパスを設定しておけば、それぞれ異なる範囲のキャッシュをクリアできます。

サイト側の設定が未入力の項目は、システム設定の値が使われます。この判定は設定項目ごとに行われるため、AWS アクセスキーとシークレットアクセスキーはシステム設定で共通化し、ディストリビューション ID とパスのみを各サイトの設定で指定する、といった運用も可能です。

なお「キャッシュをクリア」ボタンはサイトの管理画面にのみ表示されます。同一サイト内であれば、記事一覧やダッシュボードなどどの画面から実行しても、そのサイトの設定に基づく同じ動作となります。