RDS: управляемые реляционные базы
Реляционная база без головной боли администрирования — это RDS.
RDS (Relational Database Service) — управляемый сервис реляционных баз данных (PostgreSQL, MySQL, MariaDB и др.), где AWS берёт на себя установку, бэкапы, обновления и восстановление.
Зачем нужен RDS
Можно поставить PostgreSQL вручную на EC2, но тогда на вас лягут установка, настройка, регулярные бэкапы, обновления безопасности, восстановление после сбоя и репликация. RDS снимает всю эту рутину: вы получаете готовую базу, к которой просто подключаетесь, а инфраструктурой занимается Amazon.
Что AWS делает за вас
- Автоматические бэкапы и снимки (snapshots) по расписанию.
- Обновления движка базы и патчи безопасности.
- Multi-AZ — синхронная копия в другой зоне доступности с автопереключением при сбое.
- Read replicas — копии только для чтения, чтобы разгрузить нагрузку.
aws rds create-db-instance \
--db-instance-identifier my-app-db \
--engine postgres \
--db-instance-class db.t3.micro \
--allocated-storage 20 \
--master-username appadmin \
--master-user-password "СильныйПароль123"Вывод:
{
"DBInstance": {
"DBInstanceIdentifier": "my-app-db",
"Engine": "postgres",
"DBInstanceStatus": "creating"
}
}После создания база даёт endpoint — адрес вида my-app-db.abc123.eu-central-1.rds.amazonaws.com, к которому подключается приложение обычным SQL-клиентом.
Как работает под капотом
RDS — это, по сути, EC2-инстанс с базой, которым управляет автоматика AWS. В режиме Multi-AZ Amazon держит вторую, синхронно реплицируемую копию базы в другой зоне доступности. Каждая транзакция подтверждается только после записи в обе копии. Если основной инстанс падает, RDS за пару минут переключает endpoint на резервную копию — приложению достаточно переподключиться по тому же адресу. Read replicas, наоборот, реплицируются асинхронно и служат только для чтения, разгружая основную базу.
Частые ошибки
- Делать публичный endpoint у базы. RDS держат в приватной подсети; доступ — только из своей сети.
- Путать Multi-AZ и read replica. Multi-AZ — отказоустойчивость (резерв), read replica — масштабирование чтения. Это разные задачи.
- Хранить пароль БД в коде. Используйте Secrets Manager или переменные окружения, а не открытый текст в репозитории.
Итог
- RDS — управляемая реляционная база: бэкапы, обновления и отказоустойчивость берёт на себя AWS.
- Multi-AZ даёт автопереключение при сбое, read replicas — масштабирование чтения.
- Базу держат в приватной подсети, пароль — в Secrets Manager, а не в коде.