ヤマムギ

growing hard days.

*

WordPressで発生した「No space left on device」に対応

   

CloudWatch Logsメトリクスフィルターで「No space left on device」を検知

前回、WordPressにアクセスできなくなったときに、Nginxのエラーログに「write() to “/var/log/nginx/access.log” failed (28: No space left on device) while logging request」とエラーが出力されていました。
ディスク容量がなくなってアクセスできなくなったようです。

CloudWatch Logsのメトリクスフィルターで「No space left on device」文字列を検知してアラームからSNSでメール送信するように設定していました。

そしてアラームが届きましたので、逼迫しているディレクトリを確認しました。

Amazon Linux2で逼迫しているディレクトリを確認

AMIから起動したてのEC2インスタンスと比較してみました。

状況の確認(df)

まず状況を確認しました。

  • 障害発生インスタンス

  • 起動したてのインスタンス

EBSボリュームで設定している8GBを100%利用していました。

ディレクトリごとに確認(du)

次にディレクトリごとに確認してみました。

  • 障害発生インスタンス

  • 起動したてのインスタンス

/usrディレクトリでした。

  • 障害発生インスタンス
    3.3G /usr/share/nginx

  • 起動したてのインスタンス
    777M /usr/share/nginx

ということはNginxが使用しているディレクトリだろうと想定できました。
そしてディレクトリを調べていきましたところ、cacheディレクトリのデータで逼迫されていることがわかりました。

ElastiCache Memcachedを使用

W3 Total Cacheプラグインを使用しています。

WordPress W3 Total Cache のDatabaseCacheをAmazon ElastiCacheのmemcachedに格納する
以前設定して、コストとのトレードオフでやめてたのですが、検証目的でまた再開することにしました。

キャッシュの保存先をMemcachedにしてみて、状況を確認してみます。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

  関連記事

MySQL WorkbenchからRDSに接続する

MySQL WorkbenchからAWS RDSのMySQLに接続するために、「 …

API Gatewayから直接 DynamoDBに書き込む

やりたいこと WebページでOやXを押したときに、どっちを押したかをDynamo …

AWS Transfer Family EFS向けのSFTP対応サーバー

EFSファイルシステムは作成済です。 AWS Transfer Family S …

RDSの証明書をrds-ca-2019に更新しました

クライアント接続で署名書使ってないので、必要ないのですが、古いままなのも気持ち悪 …

AWS CodeStarのプロジェクトテンプレートLambda+Pythonによって生成されるもの

勉強会のデモで、AWS CodeStarのプロジェクトテンプレートLambda+ …

LINE BOT AWARDS 2017に応募しました

LINEの友達追加QRです。 動作のご確認にどうぞ LINE BOT AWARD …

AWS Systems Manager Session ManagerでLinuxインスタンスのRun Asサポートを有効にする

AWS Systems Manager Session Managerの設定画面 …

AWS Cloud9で環境を共有する

(特にリモート環境では)画面共有をしたり、リポジトリを共有したり、コーディング環 …

Amzon Linux のApacheでRedmineとWordPressをバーチャルホストで共存する

EC2とRDSを節約しようと思いまして、Redmineを動かしてるとこに検証用W …

Amazon CloudWatch クロスリージョンクロスアカウントダッシュボードを作成

本ブログのCloudFrontとWAFのアカウントと、EC2、RDS、S3などオ …