AWS RDS
Amazon Relational Database Service (Amazon RDS) — это облачный сервис, предоставляемый Amazon Web Services (AWS), который упрощает настройку, эксплуатацию и масштабирование реляционных баз данных в облаке. RDS автоматизирует рутинные задачи администрирования баз данных, такие как резервное копирование, исправление программного обеспечения (патчинг), управление отказоустойчивостью и репликация, позволяя разработчикам и администраторам сосредоточиться на разработке приложений, а не на управлении инфраструктурой. Сервис относится к категории «База данных как услуга» (DBaaS) и поддерживает несколько популярных систем управления реляционными базами данных (СУБД).
История и развитие
Amazon RDS был запущен в 2009 году как часть растущего портфеля облачных сервисов AWS. Изначально сервис поддерживал MySQL, MySQL 5.1 и Oracle Database. В 2010 году была добавлена поддержка Microsoft SQL Server, а в 2013 году — PostgreSQL и MariaDB. В 2014 году AWS представила Amazon Aurora — собственную реляционную СУБД, совместимую с MySQL и PostgreSQL, которая стала ключевым продуктом в линейке RDS. В 2018 году появилась поддержка IBM Db2. С момента запуска сервис постоянно расширял функциональность: появились Multi-AZ развертывания для высокой доступности, Read Replicas для масштабирования чтения, автоматическое резервное копирование и шифрование данных как в покое, так и при передаче.
Поддерживаемые СУБД и возможности
Движки баз данных
Amazon RDS поддерживает следующие СУБД (по состоянию на 2024 год):
- Amazon Aurora — собственная СУБД AWS, совместимая с MySQL и PostgreSQL. Отличается высокой производительностью (до 5 раз быстрее стандартного MySQL и до 3 раз быстрее PostgreSQL) и автоматическим масштабированием хранилища до 128 ТБ.
- MySQL — одна из самых популярных СУБД с открытым исходным кодом.
- PostgreSQL — мощная объектно-реляционная СУБД с открытым исходным кодом, известная своей расширяемостью и соответствием стандартам SQL.
- MariaDB — форк MySQL, созданный его основателями, с дополнительными функциями и улучшенной производительностью.
- Oracle Database — коммерческая СУБД, популярная в корпоративной среде. Поддерживаются редакции Standard Edition, Standard Edition One, Standard Edition 2 и Enterprise Edition.
- Microsoft SQL Server — коммерческая СУБД от Microsoft. Поддерживаются редакции Express, Web, Standard и Enterprise.
- IBM Db2 — коммерческая СУБД, ориентированная на крупные предприятия и транзакционные системы.
Ключевые функции
- Автоматическое резервное копирование: RDS автоматически создает резервные копии базы данных и журналов транзакций, позволяя восстановить базу данных на любой момент времени в течение периода хранения (до 35 дней).
- Автоматическое исправление (патчинг): AWS автоматически применяет исправления безопасности и обновления к СУБД в назначенное окно обслуживания.
- Multi-AZ развертывание: для обеспечения высокой доступности RDS автоматически создает и поддерживает синхронную резервную копию базы данных в другой зоне доступности (Availability Zone) того же региона AWS. В случае сбоя происходит автоматическое переключение на резервную копию.
- Read Replicas: позволяет создавать асинхронные реплики базы данных для масштабирования операций чтения и повышения производительности. Реплики могут находиться в том же регионе, в другом регионе или даже в другом аккаунте AWS.
- Мониторинг и метрики: интеграция с Amazon CloudWatch предоставляет метрики производительности (загрузка ЦП, использование памяти, операции ввода-вывода, количество соединений и т.д.). Также доступны расширенные метрики мониторинга (Enhanced Monitoring) и Performance Insights для анализа производительности запросов.
- Шифрование: поддерживается шифрование данных в покое с помощью AWS Key Management Service (KMS) и шифрование данных при передаче с использованием SSL/TLS.
- Автоматическое масштабирование хранилища: для некоторых СУБД (включая Amazon Aurora, MySQL, PostgreSQL, MariaDB) RDS может автоматически увеличивать объем хранилища, когда он достигает заданного порога, без простоев.
- Управление доступом: интеграция с AWS Identity and Access Management (IAM) для детального контроля доступа к ресурсам RDS. Также поддерживается аутентификация с помощью IAM для доступа к базам данных.
Архитектура и типы инстансов
Инстансы
База данных в RDS запускается на виртуальной машине (инстансе) EC2, который полностью управляется AWS. Пользователь выбирает тип инстанса, определяющий вычислительную мощность (количество vCPU, объем памяти) и производительность сети. Типы инстансов делятся на несколько семейств:
- Burstable (T): для нагрузок с низкой или переменной производительностью (например, T3, T4g). Используют механизм «кредитов» ЦП.
- General Purpose (M): сбалансированные по вычислительной мощности, памяти и сети (например, M6g, M7g).
- Memory Optimized (R, X): для рабочих нагрузок, требовательных к памяти, таких как большие базы данных в памяти (например, R6g, R7g, X2g).
- Compute Optimized (C): для вычислительно интенсивных рабочих нагрузок (например, C6g, C7g).
Хранилище
RDS поддерживает три типа хранилища на базе Amazon Elastic Block Store (EBS):
- gp2/gp3 (General Purpose SSD): сбалансированное соотношение цены и производительности для большинства рабочих нагрузок.
- io1/io2 (Provisioned IOPS SSD): для высокопроизводительных баз данных с предсказуемыми требованиями к операциям ввода-вывода (IOPS). Позволяет выделять фиксированное количество IOPS.
- magnetic (Standard): устаревший тип хранилища с низкой производительностью, рекомендуется только для тестовых или нечастых нагрузок.
Развертывание
- Single-AZ: один инстанс базы данных в одной зоне доступности. Обеспечивает базовую отказоустойчивость на уровне инстанса, но не защищает от сбоев зоны.
- Multi-AZ: синхронная репликация на резервный инстанс в другой зоне доступности. Обеспечивает автоматическое переключение при сбое и повышает доступность базы данных.
- Multi-AZ DB Cluster: более новая архитектура для некоторых СУБД (например, Aurora, MySQL, PostgreSQL), которая создает кластер из одного основного и двух резервных инстансов в разных зонах доступности для еще более высокой доступности и производительности чтения.
Модели ценообразования
Стоимость использования Amazon RDS складывается из нескольких компонентов:
- Плата за инстанс: зависит от типа инстанса (vCPU, память) и времени работы (почасовая или секундная тарификация). Доступны три модели:
- On-Demand: оплата по факту использования, без долгосрочных обязательств.
- Reserved Instances: резервирование инстанса на 1 или 3 года со значительной скидкой (до 60%) по сравнению с On-Demand.
- Savings Plans: гибкая модель скидок в обмен на обязательство по расходованию средств на определенный период (1 или 3 года).
- Плата за хранилище: зависит от типа и объема выделенного хранилища (в ГБ в месяц).
- Плата за операции ввода-вывода (IOPS): для хранилищ Provisioned IOPS взимается плата за выделенные IOPS в месяц.
- Плата за передачу данных: входящий трафик обычно бесплатный, исходящий трафик в интернет тарифицируется.
- Плата за резервные копии: резервные копии хранятся в Amazon S3. Первый объем, равный размеру базы данных, бесплатен; за дополнительный объем взимается плата.
- Плата за дополнительные функции: например, за использование Performance Insights, расширенного мониторинга или репликации между регионами.
Применение и преимущества
Преимущества
- Снижение операционной нагрузки: автоматизация резервного копирования, патчинга, управления отказоустойчивостью и репликацией освобождает команды от рутинных задач.
- Масштабируемость: возможность легко изменять тип инстанса, объем хранилища или добавлять Read Replicas без длительных простоев.
- Высокая доступность: Multi-AZ развертывания обеспечивают автоматическое восстановление после сбоев.
- Безопасность: шифрование, управление доступом через IAM и соответствие стандартам (SOC, PCI DSS, HIPAA и др.).
- Гибкость: поддержка множества популярных СУБД и возможность выбора между управляемым сервисом и самостоятельным управлением на EC2.
Типичные сценарии использования
- Веб-приложения и SaaS: RDS часто используется для хранения данных веб-сайтов, блогов, интернет-магазинов и SaaS-приложений.
- Корпоративные приложения: миграция on-premise баз данных (Oracle, SQL Server) в облако с сохранением совместимости.
- Мобильные и игровые приложения: для хранения профилей пользователей, игровых данных и транзакций.
- Аналитика и отчетность: использование Read Replicas для выполнения аналитических запросов без влияния на основную базу данных.
- Dev/Test окружения: быстрое создание и уничтожение тестовых баз данных с минимальными затратами.
Ограничения и альтернативы
Ограничения
- Ограниченный контроль: пользователь не имеет доступа к операционной системе инстанса и не может устанавливать сторонние расширения или модифицировать конфигурационные файлы СУБД.
- Зависимость от AWS: сервис является проприетарным, что может вызвать проблемы с привязкой к поставщику (vendor lock-in).
- Стоимость: для больших и высоконагруженных баз данных стоимость RDS может быть выше, чем самостоятельное управление на EC2, особенно при использовании Reserved Instances.
- Производительность: в некоторых сценариях (например, при очень высоких требованиях к IOPS или специфических настройках) RDS может уступать в производительности тщательно настроенной собственной инфраструктуре.
Альтернативы
- Amazon EC2 с самостоятельной установкой СУБД: предоставляет полный контроль, но требует управления всеми аспектами (резервное копирование, патчинг, отказоустойчивость).
- Amazon Aurora Serverless: бессерверная версия Amazon Aurora, автоматически масштабирующая вычислительные ресурсы в зависимости от нагрузки.
- Amazon DynamoDB: полностью управляемая NoSQL база данных, подходящая для приложений с высокой производительностью и масштабируемостью, но не поддерживающая реляционные запросы.
- Google Cloud SQL и Azure SQL Database: аналогичные управляемые сервисы реляционных баз данных от других облачных провайдеров.
- Локальные СУБД (On-Premises): традиционные базы данных, установленные на собственных серверах организации.
Источники
- Официальная документация Amazon RDS (AWS Documentation).
- «Amazon Web Services in Action» — Michael Wittig, Andreas Wittig.
- «AWS Certified Solutions Architect Study Guide» — Ben Piper, David Clinton.
- «The Enterprise Cloud» — Bernard Golden.
- Материалы блога AWS (AWS News Blog).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →