LightSailで接続できないエラー(インスタンスでエラーが発生し、接続が閉じられました。もう一度お試しになるか、カスタマーサポートまでお問い合わせください。)

目次

LightSailでの問題内容

LightSailでWebアプリケーションをデプロイしているのですが、サイトに接続できない事象が発生します。

再起動すれば解消されるのですが、、

LightSailのWebコンソールからssh接続をしようとすると下記のメッセージです

インスタンスでエラーが発生し、接続が閉じられました。もう一度お試しになるか、カスタマーサポートまでお問い合わせください。

コンソールからCPU使用率を見てみましたが、問題なさそうです

つぎにメモリの問題かと思い、コンソールからは確認できなさそうでしたので、ssh接続してログファイルを見てみました

/var/log$ ls
README              btmp                   dmesg.3.gz     lastlog              syslog
alternatives.log    btmp.1                 dmesg.4.gz     letsencrypt          syslog.1
alternatives.log.1  chrony                 dpkg.log       mysql                syslog.2.gz
amazon              cloud-init-output.log  dpkg.log.1     nginx                syslog.3.gz
apport.log          cloud-init.log         journal        php8.3-fpm.log       syslog.4.gz
apt                 cloud-init.log.1       kern.log       php8.3-fpm.log.1     sysstat
auth.log            dist-upgrade           kern.log.1     php8.3-fpm.log.2.gz  ubuntu-advantage-apt-hook.log
auth.log.1          dmesg                  kern.log.2.gz  php8.3-fpm.log.3.gz  unattended-upgrades
auth.log.2.gz       dmesg.0                kern.log.3.gz  php8.3-fpm.log.4.gz  wtmp
auth.log.3.gz       dmesg.1.gz             kern.log.4.gz  private
auth.log.4.gz       dmesg.2.gz             landscape      supervisor
/var/log$ grep -i "out of memory" /var/log/syslog
2025-12-14T14:40:03.080607+00:00 ip-172-26-2-247 kernel: Out of memory: Killed process 2831 (mysqld) total-vm:1788552kB, anon-rss:425976kB, file-rss:2868kB, shmem-rss:0kB, UID:111 pgtables:1248kB oom_score_adj:0
2025-12-16T04:44:08.720025+00:00 ip-172-26-2-247 kernel: Out of memory: Killed process 840 (mysqld) total-vm:1789492kB, anon-rss:431520kB, file-rss:2920kB, shmem-rss:0kB, UID:111 pgtables:1248kB oom_score_adj:0
2025-12-16T17:05:57.784343+00:00 ip-172-26-2-247 kernel: Out of memory: Killed process 846 (mysqld) total-vm:1788456kB, anon-rss:400412kB, file-rss:2820kB, shmem-rss:0kB, UID:111 pgtables:1184kB oom_score_adj:0

ログに記録されている Out of memory: Killed process (mysqld) は、OSがシステム全体のクラッシュを防ぐために、最もメモリを消費していたMySQLを強制的に停止させた(OOM Killer)ことを示しています。

つまり物理メモリが足りなくなり、MySQLが動作を維持できなくなった。

メモリ不足対策

1. スワップファイル(仮想メモリ)を作成する(推奨)

Lightsailの低価格プラン(512MBや1GBメモリ)では、スワップ設定がないとすぐにこのエラーが起きます。HDD/SSDの一部をメモリとして代用する設定です。

Bash

# 2GBのスワップファイルを作成する例
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 再起動後も有効にする設定
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

2. MySQLのメモリ使用量を制限する

MySQL(InnoDB)の設定で、メモリを使いすぎないように制限をかけます。 /etc/mysql/mysql.conf.d/mysqld.cnf などの設定ファイルで、以下の値を調整(または追記)することを検討してください。

  • innodb_buffer_pool_size: 小さめの値(例: 128M や 256M)に設定する。

3. プランのアップグレード

もしアクセス数が多い、あるいは複数のサービス(Nginx + PHP + MySQL)を動かしている場合、現在のメモリ容量では限界の可能性があります。Lightsailのコンソールから一つ上のプランへ「スナップショットから作成」で移行するのが最も根本的な解決策です。

目次