ヤマムギ

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

  関連記事

CodeWhisperer(Visual Studio Code)でセキュリティスキャン

CodeWhispererのセキュリティスキャンを実行してみました。 画面下の[ …

CloudWatch LogsをIPv6アドレスを使用して送信する

このブログの構成からパブリックIPv4を減らすように設計変更しています。 もとも …

Lambdaでちょっとしたコードを試すときに便利なエディタのフルスクリーン機能

Lambda歴6年で、はじめて使いました。 この存在に気がついてなかったです。 …

Amazon InspectorによるLambda関数の脆弱性検出結果を確認しました

AWS re:Invent 2022期間内に発表されましたAmazon Insp …

EC2 セッションマネージャにEC2インスタンスの一覧から接続できるようになりました

EC2に接続する時に、どうしてもSSHクライアントから接続しないといけない場合を …

Route53でドメインを新規取得してDNSレコードを設定する

Elastic IPをAWSで発行しているのですから、DNSの設定も同じようにマ …

Cloud9環境を共有した際の環境認証

Cloud9を環境を構築したIAMユーザー以外に共有したとき、その環境から実行す …

AWS Firewall Managerを設定して結果を確認

CloudFront対応のポリシーとして作成したかったので、Globalを選択し …

Amazon Bedrock Conversational Builderを使用してAIエージェントを作成してみました

2024年10月16日に「Amazon Bedrock のエージェントが Con …

AWS X-Ray SDK for PythonをOrganizations組織内にLambda Layersで共有しました

ローカルでパッケージ作成 インストールコマンドはこちらAWS X-Ray SDK …