ヤマムギ

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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

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

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

 - AWS , ,

ad

ad

  関連記事

Amazon Becrock Nova Pro, Liteを校正目的で比較モードを試しました

書籍執筆の誤字脱字チェックと校正をしてもらうためにNovaを検討しています。 N …

WordPressのwp-login.php , xmlrpc.phpへのアクセスをAWS WAFで接続元IPアドレスを制限する

AWS CloudWatch LogsエージェントでAmazon EC2上のNg …

AWS Lambda(Python3.7)でPandocを実行する

昨日まで(AWS Batch) 昨日までは、Pandocを実行して、S3バケット …

S3 Intelligent-Tieringで高頻度階層(FREQUENT)に戻る「アクセス」にS3 SelectとGlueクローラーが該当するのか確認してみました

ユーザーガイドのS3 Intelligent-Tiering のしくみには、「低 …

CloudFormationスタックポリシーでスタック更新を防止する

CloudFormationのスタックにスタックポリシーを設定することによって、 …

試そうとしてたらSavings Plans買っちゃいました

Savings Plansの購入画面を確認していました。 画面遷移も確認しようと …

AWSエンコードされたエラーメッセージをデコードするコマンドのメモ

Stdout: couldn’t create ENI: Unaut …

CloudFrontディストリビューションを別アカウントへ移動する

すでにCNAMEを設定しているCloudFrontディストリビューションを、別ア …

ある意味マネジメントコンソールで生成された署名付きURL

マネジメントコンソールにS3オブジェクトの[開く]というボタンがいつのまにか出来 …

Cloud9でCodeWhispererを使用する

アクセス権限 Cloud9のEC2に設定するIAMロールのIAMポリシーで co …