WordPressのメディアをGCSに置く

WordPressはテーマやプラグイン、画像などをwp-content/ディレクトリ内に一式保管する仕様になっています。

このうち画像などのメディアファイルについては、 WP-Statelessプラグインを利用することで、Google Cloud Storage(GCS)に置いて配信できます。

GCSの方が一般的にサーバ上のディスクよりもサービスレベルが高いため、配信ボトルネックやバックアップの問題を解決しやすくなります。

プラグインをインストールすると、管理画面の「メディア」メニューに「Stateless Setup」の項目が追加され、Googleアカウントでログインしてセットアップできます。

(GCSの課金プロジェクト設定権限を持つアカウントが必要)

セットアップ時には、GCSの課金を管理するプロジェクトやBucketを指定します。プラグインが新規のBucketを自動入力した候補が表示されていますが、プルダウンすると既存のプロジェクトやBucketも選択可能です。

なお、既存Bucket内の特定のフォルダに転送したい場合には、一度セットアップを完了したあとで「Stateless Settings」の画面で指定できます。設定時に存在していないフォルダ名を指定した場合は、初回転送時に作成されます。

セットアップ直後にはファイルは転送されていないため、「Stateless Settings」の「Sync」タブから手動で一度syncしておきます。

また、動作モードをBackup / CDN / Statelessから選択できます。

CDNやStatelessモードでは、配信サーバーはGCSになります。

ページ表示時に画像のURLがGCS上のURLに書き換えられ、ブラウザは画像ファイルをGCSに取得しに行く挙動となります。

ただし、FQDN形式でない絶対パス・相対パス形式で指定している部分はURLが書き換えられず、WordPressのサーバーを参照したままになります。

中馬崇尋
Chuma Takahiro