MOVABLE TYPE PLUGIN

MtS3Sync

Movable Type の公開ファイルを、
シンプルに S3 へ。

MT のサイトディレクトリを、
そのまま S3 に同期。

MtS3Sync は、Movable Type の管理画面に S3 連携機能を追加するプラグインです。

静的サイトジェネレーターとして MT を活用している場合、構築後のファイルを S3 に配置することで、CloudFront などと組み合わせた高速・低コストな配信基盤を構築できます。

FTP ソフトや独自スクリプトを使わず、MT の管理画面から直接、差分チェック付きで同期を実行できます。外部モジュールのインストールは不要です。

MT サーバー Movable Type 管理画面 再構築 公開ディレクトリ HTML / CSS / 画像 スキャン MtS3Sync プラグイン S3 へ同期 Amazon S3 バケット 配信 CloudFront など

機能

S3ファイルリスト

バケットをツリー表示

S3 バケットの内容をフォルダツリー形式で確認できます。同期先パスは自動的に展開表示。接続状態も管理画面上でひと目で確認できます。

差分同期

ETag / MD5 による差分チェック

ファイルの MD5 と S3 の ETag を比較し、内容が同一のファイルはアップロードをスキップ。2 回目以降の同期を大幅に高速化します。

削除オプション

S3 側の不要ファイルを削除

ローカルに存在しないファイルを S3 から削除する --delete オプションに対応。実行前に確認モーダルを表示し、誤操作を防止します。

除外パス設定

同期対象を柔軟に管理

フォルダ・ファイル単位で同期除外パスを設定できます。除外されたアイテムはファイルツリーでグレーアウト表示されます。

サイトログ

MT のサイトログに記録

同期結果(upload / delete / unchanged / error の件数)を Movable Type のサイトログに記録。プラグイン設定でログ出力を有効にすると、同期結果をテキストファイル(logs/logfile_blog{ID}_YYYYMM_***.txt)にも書き出します。

マルチサイト対応

サイトごとに異なる S3 バケットを設定

MT の各サイトで、接続先のバケット・リージョン・プレフィックスを個別に設定できます。複数サイトを運営している場合でも、配信先を柔軟に管理できます。

管理画面

S3ファイルリスト
スクリーンショット
S3同期
スクリーンショット
同期結果ログ
スクリーンショット
S3設定
スクリーンショット

動作要件

システム要件

  • Movable Type ソフトウェア版 8.8 以降
  • Perl 5.16 以降
  • S3 への HTTPS 通信が可能なサーバー

※ MT クラウド版での稼働は保証しかねます。

AWS 要件

  • IAM アクセスキー(ID + シークレット)
  • s3:ListBucket 権限
  • s3:PutObject 権限
  • s3:DeleteObject 権限(削除オプション使用時)

使用 Perl モジュール

外部インストール不要(MT 同梱 / Perl コア)

モジュール 種別 用途
LWP::UserAgentMT 同梱S3 REST API 呼び出し
HTTP::RequestMT 同梱HTTP リクエスト構築
Digest::SHAMT 同梱AWS Signature V4 署名
Digest::MD5Perl コアファイル差分チェック(ETag 比較)
JSON::PPPerl コアAJAX レスポンス JSON 生成
EncodePerl コア文字エンコーディング処理

ラインナップ

プラグイン一覧へ

ダウンロード

MtS3Sync は無料でご利用いただけます。
ご利用にあたっては下記の免責事項をご確認ください。

免責事項

無保証
本プラグインは現状有姿(as-is)で提供されます。動作の正確性・完全性・特定目的への適合性について、いかなる保証も行いません。
免責
本プラグインの使用または使用不能によって生じた損害(データの損失・S3 ストレージ費用・業務上の損失等を含む)について、Ethan Technology Japan 株式会社は一切の責任を負いません。
自己責任
本プラグインのインストール・設定・運用はすべて利用者自身の責任で行ってください。本番環境への適用前に、必ず検証環境でのテストを実施してください。
サポート
本プラグインに対する技術サポート・バグ修正・アップデートの提供は保証しません。お問い合わせにはできる限り対応しますが、回答をお約束するものではありません。
変更・配布
自身の環境での改変は自由です。第三者への再配布・サブライセンスはご遠慮ください。

初期設定と使い方

1. インストール

  1. プラグインファイルを MT の plugins/ ディレクトリに配置
  2. MT 管理画面 システム → プラグイン を開く
  3. MtS3Sync が一覧に表示されていれば完了

※ 同期ログを使用する場合は、plugins/MtS3Sync/logs/ ディレクトリに書き込み権限(755 または 777)を付与してください。

2. MT ロールと権限

システム管理者は自動的に両権限を持ちます。一般ユーザーには システム → ロール で付与してください。

権限 対象機能 備考
S3Syncの設定 S3設定・ファイルリスト 「サイト管理者」「設定の変更」と連動
S3Syncによる同期 S3同期実行 「サイト管理者」と連動

3. S3 設定

左メニューの S3Sync → S3 設定 を開き、以下の項目を入力して保存します。

項目 説明
AWS アクセスキー IDIAM ユーザーのアクセスキー ID
AWS シークレットアクセスキーIAM ユーザーのシークレットアクセスキー
AWS リージョンバケットのリージョン(例: ap-northeast-1)
S3 バケット名同期先のバケット名
S3 プレフィックス同期先のパス(省略可。例: public/)
同期元ディレクトリ省略するとサイトディレクトリを使用
同期対象除外パスファイル名またはディレクトリ名を指定(ディレクトリは末尾に / を付ける)。同期処理の対象から除外されます。
同期ログ有効にするとテキストログを出力

4. S3 同期の実行

  1. 左メニューの S3 同期 を開く
  2. 内容を確認して 同期を実行 をクリック
  3. --delete オプション を有効にすると、同期元にないファイルを S3 から削除(確認ダイアログあり)

5. 同期結果の確認

  • 左メニューの S3 ファイルリスト でバケット内容をツリー確認
  • 同期結果(upload / delete / unchanged / error 件数)は MT サイトログ に記録
  • ログ出力が有効な場合は logs/logfile_blog{ID}_YYYYMM_***.txt にも書き出し

よくある質問

再構築のたびに自動で S3 同期されますか?
自動同期には対応していません。再構築後、管理画面の S3 同期から手動で実行してください。
削除オプションを使うと、意図しないファイルまで削除される心配はありますか?
同期元ディレクトリに存在しないファイルのみが削除対象になります。実行前に確認ダイアログが表示されますので、内容をご確認の上で実行してください。別途、同期の対象からはずして触らないようにする、除外パスも設定できます。
MT の各サイトで、それぞれ別の S3 バケットを使えますか?
はい。MT のサイトごとに異なるバケットを設定できます。
初回同期で大量のファイルがある場合、タイムアウトしませんか?
サーバーのタイムアウト設定によりますが、タイムアウトする可能性はございます。再度実行していただければ、中断された続きから実行されます。
不具合を見つけた場合はどうすればいいですか?
お問い合わせフォームよりご連絡ください。対応をお約束するものではありませんが、内容を確認しできる限り対応いたします。