Архив метки: AWS RDS

AWS: RDS Proxy – обзор, запуск, тестирование

11 декабря 2021
 

 AWS RDS Proxy – сервис от AWS, позволяющий разгрузить сервера баз данных AWS RDS, в первую очередь за счёт переиспользования существующих подключений вместо открытия новых для выполнения запросов от клиентов. Кроме того, RDS Proxy улучшает failover при переключении упавшего инстанса на резервный, например – когда AWS RDS Aurora выполняет переключение read-replica на роль master, если… Читать далее »

Tableau: установка Tableau Bridge для доступа к базам данных в приватных сетях

9 августа 2021
 

 Для доступа к серверам баз данных, к которым нет доступа из мира (а так и должно быть – доступ только внутри VPC) Tableau предлагает использовать Tableau Bridge. Идея заключается в том, что мы устанавливаем Bridge внутри сети, из которой есть доступ к базам данных, а затем в datasource настраиваем доступ к базе как Private access.… Читать далее »

AWS: Database Migration Service, часть 2 – нет AUTO_INCREMENT и индексов. Фиксы для “foreign key constraint fails” и логов CloudWatch

31 августа 2020
 

 Продолжение поста AWS: Database Migration Service — обзор и пример миграции self-hosted MariaDB в AWS Aurora RDS. И всё было хорошо, пока мы не запустили первые тесты, которые начали отваливаться с ошибками: [2020-08-28 17:13:02] local.ERROR: SQLSTATE[HY000]: General error: 1364 Field ‘id’ doesn’t have a default value Начинаем проверять таблицы, и видим, что поле ID потеряло… Читать далее »

AWS: Database Migration Service, часть 1 – обзор и пример миграции self-hosted MariaDB в AWS Aurora RDS

27 августа 2020
 

 В общем-то – продолжение эпопеи с миграцией приложения из Digital Ocean в Amazon Web Services. В посте Kubernetes: нагрузочное тестирование и high-load тюнинг — проблемы и решения мы тестировали работу самого приложения в Kubernetes, следующая задача – перенести базу данных. Сейчас база данных проекта находится в Digital Ocean, на обычном дроплете с Linux и MariaDB.… Читать далее »

Kubernetes: нагрузочное тестирование и high-load тюнинг – проблемы и решения

25 августа 2020
 

 Вообще, этот пост планировался в виде небольшой заметки о том, как использовать NodeAffinity для Kubernetes Pod: Но, как это часто бывает – за одним потянулось другое, за другим третье – и в результате вышел очередной длиннопост в свободном стиле. Итак, собирался я написать про NodeAffinity, как вдруг подумал – а как будет себя вести Kubernetes… Читать далее »

AWS: RDS – обновление Certificate Authority SSL сертификата

22 ноября 2019
 

 Давно уже начали получать письма о том, что надо обновить CA сертификаты, всё было некогда. Пора сделать, выполним на Dev сервере, потом повторим на Staging и Production. Мы используем обычный RDS MariaDB, документация по обновлению тут>>>. Процесс очень простой, занимает несколько минут, особенно, если вы не используете SSL между клиентами и RDS. У нас, например,… Читать далее »

AWS RDS: SQLSTATE[22001] – Data too long for column в MariaDB 10.2

8 августа 2019
 

 Имеется PHP-приложение с бекендом AWS RDS MariaDB. На версии 10.0 работало нормально, но после миграции на 10.2 – в логах начали появляться ошибки: PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column ‘name’ at row 1 in /data/projects/projectname/vendor/yiisoft/yii2/db/Command.php:1290 Вариант первый – это просто сменить тип колонки с VARCHAR на LONGTEXT, например так:… Читать далее »

AWS: MariaDB RDS – kill: You are not owner of thread

14 мая 2019
 

 Имеется AWS RDS с MariaDB. Ошибка и решение не специфичны ни для AWS RDS, ни для MariaDB. При попытке убить процесс – RDS сообщает, что: [simterm] MariaDB [(none)]> kill 759; ERROR 1095 (HY000): You are not owner of thread 759 [/simterm] Решение – использовать процедуру mysql.rds_kill(): [simterm] MariaDB [(none)]> SHOW CREATE PROCEDURE mysql.rds_kill\G *************************** 1.… Читать далее »

AWS: RDS логи, сбор в CloudWatch Logs и CloudFormation

7 марта 2019
 

 Имеется пачка AWS RDS инстансов с MariaDB. Бекенд-разработчики просят включить им slow-логи, что бы они могли дебажить свои запросы. Задача – включить логи, и добавить их передачу в CloudWatch Logs для дальнейшего анализа. RDS, как и всё остальное, у нас создаётся из CloudFormation шаблона – поэтому будут примеры и с ним. Кроме стандартных general/error/slow логов… Читать далее »

AWS RDS: PDOException: SQLSTATE[08004] [1040] Too many connections

26 декабря 2018
 

 В Sentry начали сыпаться ошибки вида: PDOException: SQLSTATE[08004] [1040] Too many connections in /data/projects/project/vendor/yiisoft/yii2/db/Connection.php:687 Stack trace: #0 /data/projects/project/vendor/yiisoft/yii2/db/Connection.php(687): PDO->__construct(‘mysql:host=stag…’, ‘user’, ‘pass’, NULL) Для всех инстансов RDS MariaDB максимальное кол-во подключений считается по формуле {DBInstanceClassMemory/12582880}. Т.е. в нашем случае это тип db.m4.xlarge с 16ГБ памяти, следовательно: [simterm] $ echo “(16*1024*1024*1024)/12582880” | bc 1365 [/simterm] Для указания значения лимита… Читать далее »