概要
設定方法は以下のページに書きました。
![](https://res.cloudinary.com/zenn/image/upload/s--Ypxoxy1o--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:docker%2520compose%25E3%2581%25A7WordPress%25E3%2582%25921%25E5%2588%2586%25E3%2581%25A7%25E7%25AB%258B%25E3%2581%25A1%25E4%25B8%258A%25E3%2581%2592%25E3%2582%258B%25E3%2580%2582%25E3%2582%25B3%25E3%2583%2594%25E3%2583%259A%25E3%2581%25A7%25E3%2581%25A7%25E3%2581%258D%25E3%2581%25BE%25E3%2581%2599%25E3%2580%2582%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:Matsukura%2520Yuki%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2diQWZWd2dLbmhzWjJZdGgyY2k1c2hveDdQWHl5UUVaN0MyV2JkQ0E9czk2LWM=%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png)
サーバ運用
まず、Lightsail (月にで個人開発のサービスを一部運用していたのですが、データ量が多くなってきたのでストレージが足りなくなってきたことと、物理RAMが足りなくなってきたので自宅サーバへ移動しました。
Lightsailは以下のインスタンスを使っていました。
![](https://blog.teraren.com/wp-content/uploads/2024/06/image-4.png)
自宅サーバ自体もオーバースペック過ぎて、電気消費が大きいので新規に調達しました。
調達したPCはこちら。
安くて良いです
サービス運用
物理RAMが32GBあり、しばらく運用している現状で20GBぐらい使っています。
![](https://blog.teraren.com/wp-content/uploads/2024/06/image-2-1024x290.png)
すべてのサービスをDockerizedしました。
DockerのRAMの利用常用はこんな感じです。
![](https://blog.teraren.com/wp-content/uploads/2024/06/image-3-1024x283.png)
コンテナ数は30個ぐらいです。
RAMをたくさん使っているのは、MySQLとRailsのアプリケーションサーバです。RSS領域で使っています。あとは、disk cacheとしてちょこちょこ使われています。
WordPressサイトは10個ぐらいあります。1サイトごとにMySQLを立てているとメモリのMySQLサーバを立ち上げた直後の初期メモリ分が無駄になってしまうのでMySQLサーバは共有にしてアプリケーションサーバだけコンテナを個別にしました。
1.5ヶ月ほど運用していますが問題は起きていないし速度もLightsailに比べるとだいぶ速いです。
WordPressの大まかなインフラ設定
- DBは1コンテナ
- WordPressのコンテナはオフィシャルのイメージを使っています。latestタグ。
- theme, uploads, pluginsの3つのディレクトリはローカルのファイルシステムに保存してコンテナ側からマウントしています。
1つのdocker-compose.ymlに上記の設定を入れています。
1点、運用上ちょっと微妙なところはdocker compose経由でサービスを立ち上げると一気にコンテナを立ち上げてしまうので起動直後はCPU、Diskの負荷が増大します。
依存関係をつけて順番に起動していくように書いても良いですが、実際には依存関係がないし順番の管理が面倒なので割愛します。
今後
クラウドじゃなくなったのでバックアップをしっかり取っていきたいと思います。
あと、ハードウェア故障に対してのBCPを考えていきます。
Comments