Amazon Aurora – это сервис реляционных баз данных, совмещающий в себе скорость и доступность лучших коммерческих баз данных с простотой и экономичностью баз данных с открытым исходным кодом. Ядро Amazon Aurora полностью совместимо с MySQL и PostgreSQL, поэтому для работы с существующими приложениями и инструментами не потребуется вносить изменения.
Высокая производительность и масштабируемость
В пять раз быстрее БД MySQL и в три раза быстрее БД PostgreSQL
Тестирование с использованием стандартных тестов, таких как SysBench, показало результаты производительности, превышающие результаты MySQL в пять раз, а PostgreSQL – в три раза на аналогичном оборудовании. В Amazon Aurora используются различные программные и аппаратные методики, чтобы гарантировать, что ядро базы данных будет в полной мере использовать все доступные вычислительные ресурсы, память и сеть. Операции ввода‑вывода используют методы распределенных систем, например кворумы, для стабилизации производительности.
Бессерверная конфигурация
Amazon Aurora Serverless – это доступная по требованию конфигурация сервиса Amazon Aurora с автоматическим масштабированием, при использовании которой база данных автоматически запускается, отключается и масштабирует свои ресурсы в зависимости от текущих потребностей приложения. Запускайте базу данных в облаке без самостоятельного управления инстансами.
Простота масштабирования вычислительных ресурсов
С помощью API Amazon Relational Database Service (Amazon RDS) или Консоли управления AWS можно масштабировать выделенные инстансы, сокращая или расширяя развертывание. Масштабирование вычислительных ресурсов, как правило, занимает лишь несколько минут.
Автоматическое масштабирование хранилища
Amazon Aurora автоматически увеличивает размер тома базы данных при увеличении потребности в объеме хранилища. Объем тома увеличивается до 128 ТБ с шагом 10 ГБ. Выделять избыточный объем хранилища на случай увеличения базы данных в будущем не требуется.
Реплики чтения с небольшой задержкой
Для обработки большого количества запросов со стороны приложений вы можете увеличить пропускную способность чтения путем создания до 15 реплик базы данных Amazon Aurora. Таких реплик у каждой базы данных может быть до пятнадцати. Реплики Aurora используют то же самое базовое хранилище, что и исходный инстанс, что позволяет уменьшить затраты и избавляет от необходимости производить операции записи на узлах реплики. В результате высвобождается дополнительная вычислительная мощность для обслуживания запросов чтения, а интервал задержки реплики в миллисекундах снижается – часто до однозначных чисел. Aurora предоставляет адрес для чтения, к которому приложения могут подключаться без отслеживания добавления и удаления конкретных реплик. Также поддерживается автомасштабирование, при котором реплики автоматически добавляются и удаляются в ответ на изменения в заданных метриках производительности.
Aurora поддерживает межрегиональные реплики чтения. Межрегиональные реплики обеспечивают пользователям быструю скорость локального чтения. Для каждого региона можно создать 15 дополнительных реплик Aurora для дальнейшего масштабирования локального чтения. Подробности см. в Amazon Aurora Global Database.
Пользовательские адреса базы данных
Пользовательские адреса позволяют распределять и осуществлять балансировку рабочих нагрузок в разных наборах инстансов базы данных. Например, набору реплик Aurora можно назначить использование типа инстанса с высоким объемом памяти, что позволит запустить аналитическую рабочую нагрузку. Пользовательский адрес поможет направить рабочую нагрузку к настроенным соответствующим образом инстансам и при этом изолировать от нее остальные инстансы.
Parallel Query для Aurora MySQL
Amazon Aurora Parallel Query обеспечивает более быстрое выполнение аналитических запросов по тем же данным. Данная возможность может ускорить выполнение запросов до двух порядков, одновременно поддерживая высокую производительность при выполнении основных транзакционных рабочих нагрузок. Перенаправляя обработку запроса на уровень хранилища Aurora, Parallel Query значительно повышает вычислительную мощность, сокращая при этом объем сетевого трафика. Используйте возможность Parallel Query для одновременного выполнения транзакционных и аналитических рабочих нагрузок на одной базе данных Aurora. Возможность Parallel Query доступна для версии Amazon Aurora, совместимой с MySQL.
Диагностика и устранение узких мест производительности с помощью Amazon DevOps Guru для RDS
Amazon DevOps Guru – это сервис облачных операций на основе машинного обучения, которая помогает повысить доступность приложения. Amazon DevOps Guru для RDS позволяет использовать аналитические данные, полученные с помощью машинного обучения, для быстрого обнаружения и диагностики проблем, связанных с производительностью реляционной базы данных. Благодаря этому сервису время устранения таких проблем сокращается с нескольких дней до нескольких минут. Разработчики и специалисты DevOps могут с помощью DevOps Guru для RDS автоматически диагностировать основную причину проблем с производительностью и получать обоснованные рекомендации для устранения этих проблем, не обращаясь за помощью к экспертам по базам данных.
Чтобы начать работу, просто перейдите в Консоль управления Amazon RDS и включите Amazon RDS Performance Insights. После включения Performance Insights перейдите в Консоль Amazon DevOps Guru и включите применение сервиса для ресурсов Amazon Aurora, других поддерживаемых ресурсов или для всего аккаунта сразу.
Высокая доступность и надежность
Мониторинг и восстановление инстансов
Amazon RDS постоянно следит за состоянием базы данных Amazon Aurora и базового инстанса Amazon Elastic Compute Cloud (EC2). В случае сбоя базы данных Amazon RDS автоматически перезапустит базу данных и связанные с ней процессы. Amazon Aurora при восстановлении после сбоев не требует воспроизведения журналов повтора базы данных, значительно сокращая время перезапуска. Кроме того, в Amazon Aurora буферный кэш изолирован от собственных процессов базы данных, благодаря чему он сохраняется при перезагрузке.
Развертывания в нескольких зонах доступности с использованием реплик Aurora
В Amazon Aurora применяется технология Развертывание Amazon RDS в нескольких зонах доступности для автоматического аварийного переброса сервиса при отказе инстанса на одну из реплик Aurora (которых может быть до 15), созданных в любых из трех зон доступности. При отсутствии реплик Amazon Aurora в случае сбоя Amazon RDS автоматически попытается создать новый инстанс базы данных. Сократите время простоя до минимума, заменив драйверы сообщества для MySQL и PostgreSQL драйверами AWS JDBC Driver for MySQL и AWS JDBC Driver for PostgreSQL с открытым исходным кодом, совместимыми с заменой. Также можно использовать прокси-сервер RDS для сокращения времени обработки отказа и повышения доступности. При обработке отказа прокси-сервер RDS направляет запросы непосредственно новому инстансу базы данных, сокращая время обработки отказа на 66 % и при этом сохраняя подключения приложений.
Глобальная база данных
Для глобально распределенных приложений можно использовать глобальную базу данных, где одна база данных Aurora может охватывать несколько регионов AWS. Это позволяет обеспечить высокую скорость локального чтения и быстро выполнять аварийное восстановление. Глобальная база данных использует репликацию на основе хранилища, реплицируя базу данных в нескольких регионах AWS при задержке менее одной секунды. Вторичный регион можно использовать в качестве резервного варианта, если понадобится быстро провести восстановление после регионального снижения производительности или сбоя. Базу данных вторичного региона можно назначить для полных рабочих нагрузок чтения и записи быстрее, чем за минуту.
Отказоустойчивое и самовосстанавливающееся хранилище
Каждый блок тома базы данных в 10 ГБ шестикратно реплицирован в трех зонах доступности. Хранилище Amazon Aurora обладает отказоустойчивостью и автоматически обрабатывает потерю до двух копий данных без снижения доступности базы данных для операций записи и до трех копий – без снижения доступности для операций чтения. Хранилище Amazon Aurora самостоятельно поддерживает свою работоспособность; блоки данных и диски постоянно проверяются на наличие ошибок и автоматически заменяются.
Автоматические, непрерывные, инкрементные резервные копии и восстановление на момент времени
Функциональные возможности резервного копирования в Amazon Aurora обеспечивают восстановление инстанса на момент времени. Это позволяет восстановить базу данных на любой момент периода хранения (до секунды) до последних пяти минут использования. Настраиваемый период хранения автоматически созданных резервных копий может составлять до тридцати пяти дней. Автоматические резервные копии сохраняются в Amazon Simple Storage Service (Amazon S3), рассчитанном на надежность хранения на уровне 99,999999999 %. Резервное копирование в Amazon Aurora выполняется автоматически, инкрементно и непрерывно, а потому не отражается на производительности базы данных.
Снимки состояния БД
Снимки состояния БД – это инициированные пользователем резервные копии инстанса, хранимые в Amazon S3 до момента их намеренного удаления пользователем. Они используют автоматизированные инкрементные снимки состояния для ускорения создания и уменьшения требований к хранилищу. Из снимка состояния БД можно в любой момент создать новый инстанс.
Backtrack for Aurora MySQL
Возможность Backtrack позволяет быстро вернуть базу данных в состояние на прошедший момент времени без необходимости восстановления данных из резервной копии. Это позволяет быстро исправлять ошибки пользователей, такие как ошибочное удаление таблицы или отдельной строки. Когда возможность Backtrack включена, Aurora сохраняет записи данных в течение настроенного для Backtrack периода. Настройка Backtrack позволяет, к примеру, возвращать базу данных в состояние на любой момент времени из последних 72 часов. Процесс такого возврата занимает несколько секунд даже для больших баз данных, потому что копировать записи данных не требуется. Backtrack позволяет перемещаться назад и вперед по времени, чтобы найти момент непосредственно перед возникшей ошибкой.
Возможность Backtrack также полезна для разработки и тестирования, особенно в ситуациях, когда тест удаляет данные или искажает их иным образом. Достаточно вернуться к исходному состоянию базы данных, чтобы выполнить повторный тестовый запуск. Можно создать сценарий, который вызывает Backtrack через API и затем запускает тест. Это обеспечит простоту интеграции процесса в платформу тестирования. Возможность Backtrack доступна для версии Amazon Aurora, совместимой с MySQL.
Высокий уровень безопасности
Изолирование сети
Amazon Aurora работает в виртуальном частном облаке Amazon (VPC), что помогает изолировать базу данных в своей собственной виртуальной сети и подключиться к локальной ИТ-инфраструктуре с использованием IPsec VPN со стандартным шифрованием. Подробнее о сервисе реляционных баз данных Amazon в VPC см. в руководстве пользователя Amazon RDS. Кроме того, при использовании Amazon RDS можно настроить параметры брандмауэра и управлять сетевым доступом к инстансам БД.
Разрешения на уровне доступа к ресурсам
Сервис Aurora интегрирован с Управлением идентификацией и пользователями AWS (IAM) и предоставляет возможность управлять действиями пользователей AWS IAM и групп на конкретных ресурсах для Aurora (например, инстансах БД, снимках состояния БД, группах параметров БД, подписках на события БД, группах настроек БД). Кроме того, движок позволяет присваивать теги ресурсам Aurora и управлять действиями пользователей и групп IAM на ресурсах, имеющих общий тег и значение тега. Подробнее об интеграции IAM см. на странице сведений об аутентификации баз данных IAM.
Шифрование
Aurora поддерживает шифрование баз данных с использованием ключей, создаваемых и управляемых с помощью AWS Key Management Service (KMS). В инстансе базы данных Aurora с шифрованием шифруются все данные, хранимые в базовой системе хранения, а также автоматические резервные копии, снимки состояния и реплики чтения в том же кластере. Для защиты передаваемых данных в Aurora используется протокол SSL с шифрованием AES‑256.
Расширенные возможности аудита
Aurora помогает вести журнал событий базы данных с минимальным воздействием на ее производительность. Такие журналы в дальнейшем можно использовать для анализа в целях обеспечения безопасности или соответствия нормативным требованиям, администрирования базы данных, управления ими и т. д. Кроме того, для мониторинга активности можно отправлять журналы аудита в Amazon CloudWatch.
Обнаружение угроз
Aurora интегрируется с Amazon GuardDuty для обнаружения потенциальных угроз данным, которые хранятся в базах данных Aurora. GuardDuty RDS Protection создает профили и следит за действиями при входе в имеющиеся и новые базы данных в вашем аккаунте, а также с помощью специальных моделей МО точно выявляет подозрительные входы в базы данных Aurora. При обнаружении потенциальной угрозы GuardDuty генерирует нарушение безопасности со сведениями о базе данных и подробной информацией о контексте подозрительной деятельности. Интеграция Aurora с GuardDuty предоставляет непосредственный доступ к журналам событий баз данных без необходимости в их изменении и не снижает производительность баз данных.
Полностью управляемая БД
Простота использования
Начать работу с Amazon Aurora очень просто. Просто запустите новый инстанс БД Amazon Aurora через Консоль управления Amazon RDS, один вызов API или CLI. Для инстансов БД Amazon Aurora предварительно настроен набор параметров и установок, соответствующих выбранному классу инстанса БД. Можно запустить инстанс БД и подключить приложение. Процесс занимает несколько минут и не требует дополнительной настройки. Группы параметров БД предоставляют возможность точного управления и подробной настройки базы данных.
Мониторинг и метрики
Сервис Amazon Aurora без дополнительной платы предоставляет доступ к метрикам Amazon CloudWatch для инстанса БД. В Консоли управления AWS можно просматривать более 20 основных эксплуатационных метрик инстанса БД, включая использование вычислительных ресурсов, памяти и хранилища, пропускную способность запросов, коэффициент попадания в кэш и активные соединения. Можно также использовать расширенный мониторинг для сбора метрик инстанса операционной системы, на котором работает база данных. Можно использовать Аналитику производительности Amazon RDS, средство мониторинга баз данных, которое упрощает обнаружение и исправление проблем с производительностью. На простой панели управления осуществляется визуализация загрузки базы данных. И, наконец, можно использовать Amazon DevOps Guru для RDS для упрощения обнаружения проблем с производительностью, автоматической идентификации исходной причины проблем с производительностью и получения интеллектуальных рекомендаций, которые помогут решить проблему без помощи специалистов по базам данных.
Развертывание Amazon RDS без перерыва в обслуживании
Развертывание Amazon RDS без перерыва в обслуживании позволяет вам проводить обновление баз данных в выпуске Amazon Aurora, совместимом с MySQL. За несколько шагов развертывание Amazon RDS без перерыва в обслуживании создает промежуточную среду, которая является зеркалом рабочей среды, и синхронизирует обе среды с использованием логической репликации. Вы можете вносить изменения, например обновлять основные и дополнительные версии, модифицировать схемы и изменять значения параметров без снижения производительности вашей рабочей нагрузки.
Во время продвижения промежуточной среды развертывание Amazon RDS без перерыва в обслуживании блокирует запись как в среду с новой версией приложения, так и в среду с текущей его версией до завершения переключения. Развертывание Amazon RDS без перерыва в обслуживании использует встроенные ограничения переключения, которые вызывают тайм-аут переключения, если оно занимает больше времени, чем указано в параметре максимально допустимого простоя, выявляет ошибки репликации, проверяет работоспособность инстансов и выполняет другие функции.
Автоматическая установка исправлений ПО
Amazon Aurora будет обновлять базу данных до последней версии ПО со всеми установленными исправлениями. Система управления версиями ядра базы данных позволяет указать в настройках, требуется ли применять исправления на данном инстансе, и если да, то в какое время. Aurora использует установку исправлений с нулевым временем простоя, если такое возможно. Как только появляется соответствующее временное окно, инстанс обновляется в текущем состоянии, сеансы приложений сохраняются, а механизм базы данных перезапускается в процессе выполнения установки исправления, что приводит лишь к временному снижению пропускной способности (приблизительно на пять секунд).
Оповещения о событиях базы данных
Amazon Aurora может отправлять оповещения о важных событиях баз данных, например о выполнении автоматической обработки отказа, по электронной почте или с помощью SMS. С помощью консоли управления AWS или API Amazon RDS можно подписаться более чем на 40 различных событий БД, связанных с базами данных Amazon Aurora.
Клонирование базы данных
Amazon Aurora поддерживает быстрое и эффективное клонирование. К примеру, клонирование кластеров баз данных объемом в несколько терабайтов занимает лишь несколько минут. Клонирование актуально в самых разных ситуациях, включая разработку и тестирование приложений, обновление баз данных и выполнение аналитических запросов. Немедленная доступность данных позволяет значительно ускорить реализацию проектов по разработке и обновлению программного обеспечения, а также повысить точность аналитики.
Клонировать базу данных Amazon Aurora можно всего несколькими щелчками. При этом плата за хранение данных взимается только в том случае, если вы используете дополнительное место для хранения изменений данных.
Запуск и остановка базы данных
Ручная остановка и запуск базы данных Amazon Aurora осуществляется всего в несколько щелчков. Это упрощает работу и позволяет использовать Aurora для разработки и тестирования, когда не требуется постоянная работа базы данных. При остановке базы данных данные не удаляются. Дополнительную информацию см. в документации о запуске и остановке.
Поддержка миграции
Миграция баз данных MySQL
Amazon Aurora работает со стандартными инструментами импорта и экспорта MySQL. Кроме того, можно просто создать новую базу данных Amazon Aurora из снимка состояния БД Amazon RDS для MySQL. Операции по миграции, использующие снимки состояния базы данных, как правило, занимают менее одного часа, однако точное время миграции зависит от объема и формата перемещаемых данных.
Кроме того, можно самостоятельно настроить репликацию на основе бинарных логов между версией базы данных Aurora, совместимой с MySQL, и внешней базой данных MySQL, работающей в облаке AWS или за его пределами.
Миграция баз данных PostgreSQL
Стандартные инструменты импорта и экспорта PostgreSQL работают с Amazon Aurora, включая pg_dump и pg_restore. Также Amazon Aurora поддерживает импорт снимков состояния из Amazon RDS for PostgreSQL и репликацию с использованием AWS Database Migration Service (AWS DMS).
Миграция коммерческих баз данных
Amazon Aurora предоставляет идеальную среду для перемещения рабочих нагрузок баз данных из коммерческих баз данных. Aurora обладает функциональными возможностями, которые близко соответствуют возможностям движков коммерческих баз данных, и обеспечивают производительность, долговечность и высокую доступность на корпоративном уровне, что требуется для большинства рабочих нагрузок корпоративных баз данных. AWS Database Migration Service (AWS DMS) помогает ускорить миграцию баз данных в Amazon Aurora.
Babelfish для Aurora PostgreSQL
Babelfish for Aurora PostgreSQL – это новая возможность версии Amazon Aurora, совместимой с PostgreSQL, которая дает Aurora возможность распознавать команды от приложений, написанных для Microsoft SQL Server. С помощью Babelfish Aurora PostgreSQL может понимать проприетарный диалект Microsoft SQL Server T-SQL и поддерживать тот же протокол связи, поэтому ваши приложения, которые были изначально написаны для SQL Server, теперь могут работать с Aurora с меньшим количеством изменений. В результате уходит меньше усилий на изменение и перенос приложений, которые ранее работали на SQL Server 2005 или новее, на Aurora, что означает более быструю и экономичную миграцию с меньшими рисками. Babelfish – это встроенная возможность Amazon Aurora, которая не требует дополнительной платы. Вы можете включить Babelfish в своем кластере Amazon Aurora всего несколькими щелчками мышью в консоли управления RDS.
Экономичность
Платите только за то, чем пользуетесь
В Amazon Aurora не предусмотрено никаких предварительных обязательств: оплата начисляется по почасовому тарифу за каждый запущенный инстанс. По окончании работы с инстансом БД Amazon Aurora его можно просто удалить. Необходимости выделять избыточный объем хранилища нет, поэтому оплате подлежит только тот объем, который фактически используется. Более подробные сведения см. на странице цен на Amazon Aurora.
Оптимизация затрат на операции ввода‑вывода
Затраты на ввод-вывод составляют значительную часть стоимости базы данных аналитического приложения с интенсивной нагрузкой. Операции ввода‑вывода в Amazon Aurora – это операции ввода‑вывода, которые выполняются ядром БД Aurora при обращении к уровню виртуализированного хранилища, построенного на базе твердотельных накопителей. Каждая операция чтения страницы базы данных считается за одну операцию ввода‑вывода. Ядро базы данных Aurora отправляет операции чтения на уровень хранилища для извлечения страниц базы данных, отсутствующих в буферном кэше. Каждая страница базы данных занимает 8 КБ в версии Aurora, совместимой с PostgreSQL, или 16 КБ в версии Aurora, совместимой с MySQL. Ядро базы данных Aurora было разработано для устранения излишних операций ввода‑вывода, что позволяет снизить издержки и обеспечить доступность ресурсов для обслуживания трафика чтения / записи. Операции записи потребляются только при отправке записей журнала транзакций на уровень хранилища для постоянного хранения. Операции записи учитываются блоками по 4 КБ. Например, запись журнала транзакций размером 1024 байта считается одной операцией ввода‑вывода. При этом ядро базы данных Aurora может создавать пакеты из параллельных операций записи с журналами транзакций менее 4 КБ в целях оптимизации потребления ресурсов ввода‑вывода. В отличие от традиционных ядер базы данных, Amazon Aurora никогда не отправляет измененные страницы базы данных на уровень хранилища для еще большей экономии ресурсов ввода‑вывода.
Объем ресурсов ввода‑вывода, потребляемых инстансом Aurora, можно узнать в Консоли AWS. Чтобы найти объем потребляемых ресурсов ввода‑вывода, перейдите в раздел консоли RDS, найдите свой список инстансов, выберите в нем инстансы Aurora, а затем посмотрите на показатели «Billed read operations» (Оплачиваемые операции чтения) и «Billed write operations» (Оплачиваемые операции записи) в разделе мониторинга. Более подробные сведения см. на странице цен на Amazon Aurora.
Производительность разработчика
Trusted Language Extensions для PostgreSQL
Trusted Language Extensions (TLE) для PostgreSQL – это комплект разработчика и проект с открытым исходным кодом, который позволяет быстро создавать высокопроизводительные расширения и безопасно выполнять их в Amazon Aurora без необходимости получения сертификата AWS на код. Разработчики могут использовать популярные доверенные языки, например JavaScript, PL/pgSQL, Perl и SQL, для безопасного написания кода расширений. Назначение TLE – предотвращать доступ к небезопасным ресурсам и ограничивать дефекты расширений одним подключением к базе данных. Администраторы баз данных получают возможность для точного онлайн-контроля, что позволяет решать, кому разрешено устанавливать расширения, и могут создать модель разрешений для их запуска. TLE доступны для клиентов Aurora без дополнительной платы.
Machine Learning
Aurora предлагает возможности машинного обучения напрямую из базы данных, позволяя добавлять прогнозы на основе машинного обучения к вашим приложениям с помощью знакомого языка программирования SQL. Благодаря простой, оптимизированной и безопасной интеграции сервисов Aurora с машинным обучением AWS вы получаете доступ к множеству алгоритмов машинного обучения без необходимости создавать специальные возможности интеграции или перемещать данные. Подробнее о Aurora Machine Learning.
RDS Proxy Support
Aurora может работать в связке с Amazon RDS Proxy – полностью управляемым высокодоступным прокси-сервером базы данных, который повышает возможности масштабирования приложений, их безопасность и отказоустойчивость при сбоях в базе данных. RDS Proxy позволяет приложениям объединять подключения в базе данных в пул и предоставлять к ним доступ, улучшая эффективность базы данных и масштабируемость приложений. Он снижает время отказа, автоматически подключаясь к новому инстансу базы данных, при этом сохраняя подключения со стороны приложений. Он повышает безопасность благодаря интеграции с AWS IAM и AWS Secrets Manager.
Подробнее о ценах на Amazon Aurora