WordPressのメディアデータをS3に保存することで、負荷分散や冗長化のときにいちいちサーバのローカルをどこかに保存したり同期したりする必要がなくなる。
もちろんS3にはレプリケーション機能があるので、複製を同期的に作成することができる(クロスリージョンレプリケーション)。
ほとんどWordPress側の設定だけでS3との連携はできる。
S3に保存+S3から読み込む
インストールプラグイン
- Amazon Web Services
- WP Offload S3 Lite
「Amazon Web Services」はIAMで作成したS3 FullAccessユーザを登録する。
wp-config.phpに書き込むことが推奨されているが、一応フォームからも入力はできる。
「Wp Offload S3 Lite」は設定からアップロードするバケットを作成(既存のも使用できる)して登録するだけで、S3にファイルをアップロードすることができ、メディアへのアクセスURLもS3に変換される。
ローカルにもメディアデータは保存されるが、「Remove Files From Server」をOnにすると、S3のみに保存されるようになる。
レプリケーションについて
レプリケーションしたいS3の[管理] > [レプリケーション] > [ルールの追加]で必要事項を入力するだけ。
バケットごとできるし、特定のファイルだけもできる。
どのバケットにレプリケーション(同期複製)するか、リージョン、ロール(S3FullAccessか新しく作成しておけば上手くいく)などを適当に選択し作成できる。
元々あったファイルは同期されないので、コピーして貼り付ける必要がある。
最上位のディレクトリを選択してコピーすれば楽。
新しく作成されたオブジェクト、オブジェクトの更新、オブジェクトの削除が、レプリケート元バケットから他の AWS リージョンのレプリケート先バケットにレプリケートされます。 https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/user-guide/enable-crr.html