昨日の続きです
Amazon Lightsail インスタンスに接続出来なくなったので対応したけど原因がよくわからない
一応の対処はしたんですがその後も断続的に負荷が集中する時間帯が発生し、昨日の午後はLightsailインスタンスのApacheを落として対処しました(事実上の休止)。
今後も断続的に停止する見込みです
調べたところとにかくWordPressの負荷だけが高いということがわかったので、それ以外の一部機能をEC2+RDSに退避させました。RDSをまともに使うとコストが全然見合わないんですが、WordPress以外の機能、個人的に使っているアプリケーションなどであれば無料枠(12ヶ月)の範囲内に収まりそうなので、当面は大丈夫かと。ただWordPressにアクセスが集中するとDBが操作不能になる問題は解決していないので、それが完全に解決されるまでは、今後も断続的に停止する見込みです。
解決方法としてはデータベースのスペックをあげることでアクセスを捌くということも考えたのですが、Lightsail用に用意されたデータベース(中身はRDS)のスペックを多少あげたところで追いつかなかったので、対策としてはちょっとダメそうです($15→$30にアップしてみたけど効果が薄かったので戻した)。
Lightsail用データベースの同時接続上限数
- $15 → 60
- $30 → 142
今後について:EC2への移行を進めます
このまま求められるままに性能をアップさせて対処するわけにはいかないので(収益性のあるサイトでもないし)、なんらかのアクセス制限をしながら正常に運用出来るように進めていきたいのですが、一方でなにかをきちんとやろうとするとLightsailではやれることが少ないというジレンマがあります。何も起きなければ安くて便利なんですけどね。ということでこれを、逆にEC2への移行を進めるチャンスが来たと捉えて、WordPress以外について順次移行を進めていこうかなと考えています。特にLightsailの都合(PHP7.2より上に上げられない)によって古いバージョンを使わざるを得なかったLaravelについては、その対応も含めてやっていければいいかなと。
なんとなくの構想
- 機能ごとにサブドメインで区切って分割しやすくしている(似非マイクロサービスみたいな感じ)ので、それに合わせて最新バージョンのLaravelで再実装
- バックエンドを使わないサイトはS3もしくはGitHub Pagesで公開
- WordPressはコストとアクセス対策を慎重に見極めた上で2024年中のどこかでEC2移行
AWSの実地試験という意味では良い経験になるかなとは思うんですが、
ああーめんどくさいなあ、、(本音)