WordPressの運用を継続していくにあたり注意が必要なのが、ストレージ容量です。私は過去にこのブログ以外にもWordPressでブログを運用したことがありますが、記事が増えるにつれ管理画面が重くなっていきました。
重くなる原因がプラグインなのか、画像なのか、リビジョンなのか(それとも全てなのか)当時は特定できませんでしたが、何も対策をせずに画像を増やせばストレージ容量を圧迫することは必然です。
ブログの画像をS3に保存することで、WordPressのストレージ容量圧迫を防ぎます。
- WP Offload Media プラグインを利用して S3 と連携
- S3利用は有料(最初 1 年は無料)
設定してみた
Lightsailからバケットを作成する
Lightsailのコンソールから、ストレージタブの「バケットを作成」をクリック。

AWSリージョンを東京に選択し、ストレージプラン 5 GB にします。

バケットを作成します。

作成したバケットのアクセス権限タブに移動し、バケットのアクセス権限を「個々のオブジェクトをパブリックかつ読み取り専用にできます」にします。この設定がない場合、読者がこの記事を見る際に画像が表示されません。

次に、リソースアクセスからWordPressインスタンスをアタッチします。

以上でS3側の設定が完了しました。
WordPress管理画面からプラグインを設定する
サイトネットワークからプラグインをインストール・有効化します(「WP Offload Media Lite」で検索)。

WP Offload Media Lite プラグインの「Settings」から、S3へのアクセスには IAM ロールを使用します。

使用されている IAM ロールが何かは不明ですが、S3のリソースアクセスの設定か、プラグインの設定をした時間帯にIAMロール「AWSServiceRoleForLightsail」が作成されていたため、このロールが使用されていると思われます。
「Enter bucket name」をクリックすると選択できるバケットが表示されるため、バケットを選択して「Save Selected Bucket」をクリック。

「Force HTTPS」と「Remove Files From Server」をONにして「Save Changes」をクリック。

これでプラグイン側の設定も終了です。
S3に保存されているか確認
試しに画像をアップロードしてその画像のプロパティを確認すると(PathやファイルのURLなど)、S3に保存されていることがわかります。
