База данных EC2 через Larval Forge перестала быть доступной
Я запускал экземпляр EC2 через Laravel Forge около 2000 часов и этим утром получил эту ошибку, пытаясь достичь ее:
SQLSTATE [08006] [7] не удалось подключиться к серверу: соединение отклонено. Сервер работает на хосте "172.. ***" и принимает соединения TCP/IP через порт 5432?
После SSHing на сервер я получаю похожую ошибку при попытке запустить команду. Я копался в AWS, но не вижу никаких ошибок. Я дважды проверил IP-адрес экземпляра, чтобы убедиться, что IP-адрес не изменился по какой-либо причине. Конечно, я немного отстаю от своих резервных копий для приложения, поэтому я надеюсь, что у кого-то могут быть какие-то идеи, почему еще я могу попытаться получить доступ к этим данным. Я не вносил никаких изменений в приложение в течение 10 дней, но обнаружил ошибку, когда отправлял обновление. У меня есть шесть других экземпляров того же приложения, которые не были затронуты (к счастью), но еще больше путают меня с причиной проблемы.
1 ответ
В случае, если кто-то сталкивается с подобной проблемой, вот что произошло. В фоновом режиме произошла ошибка, которая заполнила журнал жесткого диска EC2. Поскольку в образе Larvel/Forge по умолчанию в экземпляре EC2 работает БД, то после того, как ему не хватило места, все перестало работать. Я смог войти в SSH и удалить журнал, и все снова заработало.
Чтобы предотвратить повторение этой проблемы, я создал Amazon RDS и использовал его, а не экземпляр EC2. Это примерно в три или четыре раза дороже всего экземпляра EC2, но все же не так много, и доверие, которое я сейчас испытываю к системе, вполне стоит того.