Amazon Lightsail ストレージを追加してキャッシュを移動

Amazon Lightsail
WordPress周りが動かなくなっておかしいなーと思ってたら、ストレージが100%になってました。なんでや。






問題はプラグイン「WP Super Cache」でした

調べたところプラグイン「WP Super Cache」が生成するキャッシュがストレージ60GB中35GBをキャッシュが占めてしまっていました。


$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        962M   72K  962M   1% /dev
tmpfs           973M     0  973M   0% /dev/shm
/dev/nvme0n1p1   59G   59G   0G  100% /


「WP Super Cache」は様々なデータをキャッシュしてサイトへの接続をスムーズにしてくれる優れものプラグインなのですが、ちょっと頑張りすぎてしまったようです。キャッシュがあること自体は良いことなんですけど、そのせいでアクセス出来なくなったとしたらそれは本末転倒なわけで……さてどうしましょう。プラン変更とか色々考えたんですが、キャッシュが占める容量が問題だと言うことがわかったので、追加ストレージを購入してマウントし、キャッシュディレクトリを追加ストレージに変更することにしました。それが一番コストを抑えられそう。


追加ストレージを作成してマウント

参考にしたのは以下の記事。


こんにちは、菊池です。

本日、Amazon Lightsailのアップデートにより、Lightsailインスタンスに追加ストレージを作成、アタッチ可能になりました。

[新機能] Amazon Lightsailでストレージの追加が可能になりました | DevelopersIO


記事は2017年に書かれたものでかなり古いんですけど、手順は今でも同じです。


  1. 追加ストレージを作成
  2. インスタンスにアタッチ
  3. ファイルシステムを作成
  4. マウント


追加ストレージを作成

記事にあるのと同じようにLightsailコンソールから作成します。


インスタンスにアタッチ

追加ストレージを作成した流れでインスタンスにアタッチ。


ファイルシステムを作成

SSHでサーバに入ってまずデバイスの確認。

$ lsblk
NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1       259:0    0  60G  0 disk
├─nvme0n1p1   259:1    0  60G  0 part /
└─nvme0n1p128 259:2    0   1M  0 part
nvme1n1       259:3    0  64G  0 disk /data

ファイルシステムを作成。

$ sudo mkfs -t ext4 /dev/nvme1n1


マウント

マウントポイントを作成します。

$ sudo mkdir /data

マウント

$ sudo mount /dev/nvme1n1 /data



「WP Super Cache」の設定を変更

  1. 「/data/cache/supercache/」を作成して適当なパーミッションを設定
  2. 「高度な設定」タブの中の「キャッシュの場所」を「/data/cache/supercache/」に変更
  3. 「簡単」タブに戻って「キャッシュをテスト」をクリック

「キャッシュをテスト」でOKが出ればキャッシュディレクトリの変更は完了です。元のキャッシュディレクトリを削除すればストレージの確保もOK。


最終的には以下の通りとなりました。


$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        962M   72K  962M   1% /dev
tmpfs           973M     0  973M   0% /dev/shm
/dev/nvme0n1p1   59G   25G   35G  42% /
/dev/nvme1n1     63G   57M   60G   1% /data


これでしばらくは大丈夫そうです。たぶん。