続 AWSのEC2にwordpressを入れてブログサイトを作った話

ブログサイトを鋭意再構築中である。下書き記事と撮影した元画像から過去のブログ記事を復旧していく地味な作業である。
jpgよりもwebpの方が効率が良いみたいなことが言われていて、変換するのが手間、だけどコツコツやっている。

EC2上のMariaDBが停止

そんな中、AWS EC2で構築したブログサイトが突然停止してしまった。記事の復旧作業中に突然エラーが。
データベース接続確立エラーと表示される。

あー、どうしよう。半パニック状態で、sshでEC2にログイン。mariadbの状態は?

$ systemctl status mariadb
× mariadb.service - MariaDB 10.5 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; preset: disabled)
Active: failed (Result: oom-kill) since Sun 2025-04-20 04:23:54 UTC; 14min ago
Duration: 2w 1d 2h 56min 23.321s
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 32230 ExecStart=/usr/libexec/mariadbd --basedir=/usr $MYSQLD_OPTS $_WSREP_NEW_CLUSTER (code=killed, signal=KILL)
Main PID: 32230 (code=killed, signal=KILL)
Status: "Taking your SQL requests now…"
CPU: 10min 24.569s
Apr 05 01:27:31 ip-172-31-37-70.ap-northeast-1.compute.internal mariadb-prepare-db-dir[32185]: See the MariaDB Knowledgebase at https://mariadb.co>
Apr 05 01:27:31 ip-172-31-37-70.ap-northeast-1.compute.internal mariadb-prepare-db-dir[32185]: Please report any problems at https://mariadb.org/j>
Apr 05 01:27:31 ip-172-31-37-70.ap-northeast-1.compute.internal mariadb-prepare-db-dir[32185]: The latest information about MariaDB is available a>
Apr 05 01:27:31 ip-172-31-37-70.ap-northeast-1.compute.internal mariadb-prepare-db-dir[32185]: Consider joining MariaDB's strong and vibrant commu>
Apr 05 01:27:31 ip-172-31-37-70.ap-northeast-1.compute.internal mariadb-prepare-db-dir[32185]: https://mariadb.org/get-involved/
Apr 05 01:27:31 ip-172-31-37-70.ap-northeast-1.compute.internal systemd[1]: Started mariadb.service - MariaDB 10.5 database server.
Apr 20 04:23:54 ip-172-31-37-70.ap-northeast-1.compute.internal systemd[1]: mariadb.service: A process of this unit has been killed by the OOM kil>
Apr 20 04:23:54 ip-172-31-37-70.ap-northeast-1.compute.internal systemd[1]: mariadb.service: Main process exited, code=killed, status=9/KILL
Apr 20 04:23:54 ip-172-31-37-70.ap-northeast-1.compute.internal systemd[1]: mariadb.service: Failed with result 'oom-kill'.
Apr 20 04:23:54 ip-172-31-37-70.ap-northeast-1.compute.internal systemd[1]: mariadb.service: Consumed 10min 24.569s CPU time.

oom-killでデータベースのデーモンが停止した模様。
oom-killってメモリ不足だっけ。インスタンスタイプはt4g-microだっけか?メモリは1Gしかないのか?

EC2ってスワップ領域ないのか。ネットワークマウントのストレージだからか?
そうかも。組み込みマシンみたいだな。

DB(MariaDB, MySQL)がたまに動かなくなる | Code Creare

たまにEC2(AWS)上のWordPressやその他サービスにアクセスできなくなり、 調べると、 MariaDB(MySQL)にアクセスできない。 ”Can't connect to local MySQL se…

httpdとかphp-fpmのプロセスもメモリ使ってそう。1Gだと辛いのかも。

とりあえず、MariaDB再起動。
httpdとphp-fpmも再起動。

一応復活はした。
メモリ設定を見直すか。インスタンスタイプを上げるか。コストがなぁ…

【メモリ不足でDBが停止?】 ec2のスケールアップをしてみた。 | 東京初めてエンジニア

最近よくDBが停止するんですよね。 なんでかなあって見たら、メモリが足りてないやらなんやら。というエラーが出た。 ということで、EC2のスケールアップをしてメモリ増や…

AWSのインスタンスタイプを変更した話

本日は、AWSのインスタンスタイプを変更した話題である。 かくいう私、独自ドメインを取得している。AWSの仮想PCであるEC2でWebサーバーを立ち上げちゃったりしている。 U…

apacheの設定

httpd.confでMaxClientsを設定すればhttpdプロセスの最大値を制限できる。どのみちそんなにアクセスないから10プロセスくらいで十分か。

MaxClients 10

としてみた。
httpdを再起動するとhttpdプロセスが3つ起動した。今まで6プロセスは起動していたと思うので、なんか効いてるかも。

PHPの設定

apache(httpd)の設定はこれでOKとして、PHPの方はどうしよう。php-fpmだと別プロセスが起動するのでapacheの方と合わせておいた方が良いよね。きっと。

php-fpmの設定ファイルは、/etc/php-fpm.d/www.confなのか。
そこで、pm.max_childrenを設定すれば良いのね。

参考にしたサイトではなんか計算しろとか言ってるけど。めんどくさいじゃん。
現在の設定を見たら50になってる。OKじゃあMaxClientsと同じ10に設定して様子をみよう。

; forget to tweak pm.* to fit your needs.
; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
; Note: This value is mandatory.
;pm.max_children = 50
pm.max_children = 10

とphp-fpmを再起動したが、立ち上がらず…
元に戻すと起動した。

と言うことは、別の設定項目があるぽい。どこだー。

;pm.max_spare_servers = 35
pm.max_spare_servers = 10

にしてみた。

今度は成功。
一応エラーは出ない。

本当はちゃんとメモリ使用量とサーバの実メモリからちゃんと計算しないといけないが、まぁ個人ブログサイトなんて「アクセスが集中する」って言うことは滅多にないことなので、これでOK。しばらく様子見なのである。

本当はMySQL(MariaDB)のメモリ設定もしたかったが…ちょっと保留。
インスタンスタイプを上げるのは簡単にできるから、最終手段。1段階上げると倍のコストがかかるからね。

AdSenseの審査に落ちた

さて、それよりショックなのが、AdSenseの審査に落ちてしまったのである。旧ブログではAdSenseで広告を出していたので、新ブログでも広告出して収入を得ようと皮算用していた訳ではあるが…まさかの審査落ち。

理由は良くわからん。

別に法令違反してないしなぁ…思い当たる点としては…記事数が足りないのかなぁ。記事を復旧するのが大変で「4記事くらい書いたところで審査を申請」したからなぁ…

それか…「税務情報が必要」を無視しているからなのか?

旧ブログ時代から言われていたが、税務関係の書類を出さないと「どうのこうの」ってメールが来ていたけど、「あーもう面倒。広告の報酬だって微々たるものなので『無視』していた」。
でなんか知らないけど「シンガポールがどうのこうの」オレ、シンガポールとは無関係だけど…

これが原因で審査落ちしたのか?

完全に否定はできないな…

と言うことでこの問題をクリアするのが先決ということで調べてみた。
今、トランプ大統領が「関税、関税、また関税」とか言ってますけど、AdSenseでの「税務情報が必要」っていうのは税金関係の話ららしい。どうも「租税条約」と言って『2重課税』にならないような国同士の取り決めがあるっぽい。関税も国同士の決まりだけどね。

Googleは米国の企業である。AdSenseやYouTubeもGoogleが運営しているサイトである。AdSense、YouTubeで広告料金が発生すると、何かしらのコストが発生し「取り分」の問題が発生する。Googleに手数料を徴収されるはしょうがないとして、国にも税金という形で徴収されてしまうのである。

で、トランプはアメリカファースト的考えで「関税でなんでも貿易したら『税金取ろう』と圧力をかけている」みたいではあるが、Googleの「税務書類が必要」は「ちゃんと申告したら税金取らないよ」っていう、割と寛大なシステムであったりする。

米国で税金取らないから日本で税金納めてね。

それには、ちゃんと日本に住んでいて「ちゃんと税金納めているよ!」っていう証明しないといけない。しかもリモートで。

ということらしい。

で、マイナンバーを入力してとか、色々やってるけど、結局のところ「居住者証明書」っていうのが必要みたい。
シンガポールはよく解らないが、Googleの税務関係の処理をシンガポールでやってるっていうことなのかな。

居住者証明書は税務署に申請出すと貰える。居住者証明書交付請求書というものを国税庁のサイトからダウンロードして、住所や名前を記入して税務署に郵送すると返送されてくるらしいぞ。詳しくは以下サイトを参照。

ぐうてるブログ | 【簡単解説】Google AdSense シンガポール税務情報の申請方法

2023年から、Google AdSenseでシンガポールの税務情報の提出を要求されるようになりました。ログインするたびに以下の警告がでます。圧が強くて非常に怖い…。Google AdSen…

現在、返送されてくるの待ちだが、記事も増えてきたので再度「審査のリクエスト」はしておいた。
さて、どうなることか。

投稿者プロフィール

asai
asai