Возможности
Простые управляемые развертывания
Сервис Amazon RDS для БД PostgreSQL предназначен для разработчиков и компаний, которым нужен полный набор функциональных возможностей базы данных PostgreSQL или требуется осуществить перенос существующих приложений и инструментов, использующих базу данных PostgreSQL. Amazon RDS для PostgreSQL предоставляет непосредственный доступ к стандартному ПО баз данных PostgreSQL, запущенному на принадлежащем клиенту инстансе БД Amazon RDS. Это обеспечивает эффективную работу приложений.
- Предварительно настроенные параметры. Для развертываний PostgreSQL в Amazon RDS предварительно настроен точный набор параметров и установок, соответствующий выбранному классу инстанса БД. Остается только запустить инстанс PostgreSQL и подключить приложение. Процесс занимает всего несколько минут и не требует дополнительной настройки. Дополнительные возможности управления предоставлены посредством групп параметров БД.
- Мониторинг и метрики. Сервис Amazon RDS предоставляет доступ к метрикам Amazon CloudWatch для используемых инстансов БД без дополнительной платы. С помощью Консоли управления AWS можно просматривать основные рабочие метрики запущенного инстанса БД, включая использование вычислительных ресурсов, памяти и хранилища, интенсивность операций ввода‑вывода и подключения к инстансу БД.
- Оповещение о событиях БД: сервис Amazon RDS предоставляет возможность получения оповещений Amazon SNS о развертывании инстанса БД с помощью электронной почты или SMS. С помощью Консоли управления AWS или API Amazon RDS можно подписаться более чем на 40 различных событий БД, связанных с развертываниями в Amazon RDS.
- Автоматическое обновление ПО. С использованием сервиса Amazon RDS можно не сомневаться в том, что при развертывании используется самая актуальная версия ПО PostgreSQL со всеми установленными исправлениями. Система управления версиями ядра БД позволяет настроить необходимость применения исправлений на каждом инстансе БД и их периодичность.
Быстрое и надежное хранилище
- Универсальные хранилища (SSD). Универсальные хранилища (SSD) Amazon RDS обеспечивают не менее 3 операций ввода‑вывода в секунду на каждый выделенный гигабайт и позволяют выходить на пиковый уровень до 3000 операций ввода‑вывода в секунду.
Можно выполнить переход с магнитного хранилища на универсальное (SSD), при этом снижение доступности ресурсов будет лишь кратковременным.
Чтобы получить дополнительные сведения и начать работу с универсальным хранилищем (SSD) Amazon RDS, изучите этот раздел руководства пользователя по Amazon RDS.
- Provisioned IOPS (SSD) – это возможность выделения хранилища объемом до 64 ТБ с количеством операций ввода-вывода в секунду до 80 000 на каждый инстанс базы данных. Фактическое количество выполняемых IOPS может отличаться от выделенного количества в зависимости от рабочей нагрузки базы данных, типа инстанса и выбранного ядра БД. См. раздел Факторы, влияющие на количество фактически реализуемых операций ввода-вывода в секунду руководства пользователя Amazon RDS.
Можно выполнить переход со стандартного хранилища на хранилище с выделенным объемом IOPS, что обеспечит стабильную пропускную способность и малую задержку операций ввода‑вывода. При таком переходе будет наблюдаться кратковременное снижение доступности. По ходу работы можно без простоев выполнять независимое масштабирование хранилища и количества IOPS (с шагом в 1000 операций). Количество IOPS можно масштабировать, увеличивая или уменьшая, к примеру, в зависимости от сезонных изменений трафика приложений.
Чтобы получить дополнительную информацию и начать работу с хранилищем Amazon RDS с выделенным объемом IOPS, см. раздел Хранилище для выделенных IOPS руководства пользователя Amazon RDS.
- Amazon DevOps Guru для RDS. Amazon DevOps Guru – это сервис облачных операций на основе машинного обучения, который помогает повысить доступность приложения. Amazon DevOps Guru для RDS позволяет использовать аналитические данные, полученные с помощью машинного обучения, для быстрого обнаружения и диагностики проблем, связанных с производительностью реляционной базы данных. Благодаря этому сервису время устранения таких проблем сокращается с нескольких дней до нескольких минут. Разработчики и специалисты DevOps могут с помощью DevOps Guru для RDS автоматически диагностировать основную причину проблем с производительностью и получать обоснованные рекомендации для устранения этих проблем, не обращаясь за помощью к экспертам по базам данных.
Чтобы начать работу, просто перейдите в Консоль управления Amazon RDS и включите Аналитику производительности Amazon RDS. После включения Performance Insights перейдите в Консоль Amazon DevOps Guru и активируйте сервис для ресурсов Amazon RDS, других поддерживаемых ресурсов или для всего аккаунта сразу. Можно также включить DevOps Guru для RDS для конкретного ресурса RDS в консоли RDS при создании новой базы данных или на странице аналитики производительности RDS.
Резервное копирование и восстановление
- Автоматическое резервное копирование. Включенная по умолчанию в Amazon RDS возможность автоматического резервного копирования позволяет восстанавливать инстанс БД на момент времени. Amazon RDS выполняет резервное копирование базы данных и логов транзакций и сохраняет их в течение указанного пользователем периода. В течение этого периода состояние инстанса БД можно восстановить на любой момент времени, вплоть до последних пяти минут использования. Срок хранения автоматически созданных резервных копий может составлять до тридцати пяти дней.
- Снимки БД представляют собой резервные копии инстанса БД, инициированные пользователем. Эти полные резервные копии базы данных хранятся в Amazon RDS бессрочно, если вы не удалите их намеренно. При желании можно в любой момент создать новый инстанс БД из снимка состояния БД. Можно также копировать снимки состояния БД в другие регионы AWS с целью выполнения переноса в другое географическое местоположение или аварийного восстановления.
Удобство масштабирования
- Класс инстанса БД. С помощью API Amazon RDS или нескольких щелчков мышью в Консоли управления AWS можно масштабировать вычислительные ресурсы и ресурсы памяти для существующих развертываний, уменьшая или увеличивая их объем. Масштабирование, как правило, выполняется за несколько минут.
- Объем хранилища и количество операций ввода‑вывода на секунду: по мере увеличения требований к объему хранилища выделять дополнительный объем можно по ходу работы и без простоев. Если вы используете хранилище RDS Provisioned IOPS, вы можете масштабировать пропускную способность инстанса базы данных, задавая количество операций ввода‑вывода в секунду в диапазоне от 1000 до 80 000 с шагом в 1000 и (или) объем хранилища в диапазоне от 100 ГБ до 64 ТБ.
Репликация
- Развертывание в нескольких зонах доступности. Это вариант для развертывания инстансов рабочей БД, который повышает доступность и при этом защищает последние обновления базы данных от незапланированных отключений. При создании или переводе существующего инстанса БД на использование нескольких зон доступности Amazon RDS автоматически создает резервную копию в другой зоне доступности (с независимой инфраструктурой с физически изолированным расположением) и обеспечивает управление ею. Обновления базы данных для первичных и резервных ресурсов выполняются параллельно, чтобы избежать задержки репликации. При проведении запланированного технического обслуживания, в случае выхода инстанса из строя или отказа зоны доступности Amazon RDS выполняет автоматическое аварийное переключение на резервный инстанс, что позволяет продолжить работу с базой данных сразу после завершения переключения без вмешательства администратора. До переключения прямой доступ к резервному инстансу недоступен, инстанс не может быть использован для выполнения операций чтения. Подробнее »
- Реплики чтения. Эта возможность репликации обеспечивает простое эластичное масштабирование с возможностью превышения емкости одного инстанса базы данных для выполнения рабочих нагрузок с большим количеством операций чтения. Для заданного инстанса БД можно создать одну или несколько реплик в пределах одного региона AWS для обслуживания трафика приложений с большим количеством операций чтения из различных копий, что позволяет увеличить общую пропускную способность таких операций. Для распространения изменений, внесенных в исходный инстанс БД, по репликам чтения сервис Amazon RDS использует встроенные возможности репликации PostgreSQL. Необходимо учитывать, что реплики чтения используют стандартную репликацию PostgreSQL, а потому могут обновляться с отставанием от оригинальных инстансов базы данных. Подробнее »
Изоляция и безопасность
Amazon RDS поддерживает шифрование в базах данных PostgreSQL с использованием ключей, управляемых с помощью AWS Key Management Service (KMS). В инстансе БД с шифрованием Amazon RDS шифруются все данные, находящиеся в базовом хранилище, а также автоматические резервные копии, реплики чтения и снимки состояния.
С помощью Amazon Virtual Private Cloud (VPC) можно изолировать инстансы БД в личной виртуальной сети и подключиться к существующей ИТ‑инфраструктуре через соединение VPN, зашифрованное с помощью стандартного для отрасли VPN‑подключения IPSec. Подробнее о сервисе Amazon RDS в VPC см. в руководстве пользователя Amazon RDS. Кроме того, Amazon RDS позволяет настроить параметры брандмауэра и управлять сетевым доступом к инстансам БД.
Поддерживаемые возможности PostgreSQL
- PostGIS – это средство пространственного расширения баз данных для объектно‑реляционных БД PostgreSQL. Он обеспечивает поддержку географических объектов, благодаря чему можно запускать запросы местоположений в SQL. Расширения поддержки языков: PostgreSQL позволяет с помощью расширений загружать в базу данных процедурные языки. В PostgreSQL входят четыре расширения поддержки языков для Perl, pgSQL, Tcl и JavaScript (с использованием ядра JavaScript V8).
- Словари полнотекстового поиска. PostgreSQL поддерживает возможность полнотекстового поиска, которая позволяет определять документы на естественных языках, удовлетворяющие условиям запроса, и при необходимости сортировать их по релевантности. Словари не только повышают качество поиска, выполняют нормализацию и удаляют стоп‑слова, но и повышают производительность выполнения запросов.
- HStore, типы данных JSON. PostgreSQL поддерживает тип данных JSON и две функции JSON. Это позволяет возвращать данные JSON непосредственно с сервера баз данных. PostgreSQL включает в себя расширение, которое интегрирует тип данных hstore для хранения наборов пар «ключ‑значение» в одном значении PostgreSQL.
- pg_stat_statements. Это расширение позволяет отслеживать статистику выполнения любых заявлений SQL, выполненных на инстансе (например, userid), точно определять, какие запросы выполнены, а также определять общее затраченное время.
- Упаковщики внешних данных. Расширение postgres_fdw обеспечивает доступ к данным, хранящимся на других серверах PostgreSQL, и позволяет изменять эти данные точно так же, как данные на инстансе БД PostgreSQL в Amazon RDS.
- Основные функции ядра PostgreSQL. Подробный список основных функций ядра БД PostgreSQL см. по ссылке.
Trusted Language Extensions для PostgreSQL
Trusted Language Extensions (TLE) для PostgreSQL – это комплект разработчика и проект с открытым исходным кодом, который позволяет быстро создавать высокопроизводительные расширения и безопасно запускать их в Amazon RDS без необходимости получения сертификата AWS на код. Разработчики могут использовать популярные доверенные языки, например JavaScript, PL/pgSQL, Perl и SQL, для безопасного написания кода расширений. Назначение TLE – предотвращать доступ к небезопасным ресурсам и ограничивать дефекты расширений одним подключением к базе данных. Администраторы баз данных получают возможность для точного онлайн-контроля, что позволяет решать, кому разрешено устанавливать расширения, и могут создать модель разрешений для их запуска. TLE доступны для клиентов Amazon RDS без дополнительной платы.
Работа с Amazon RDS для PostgreSQL
Amazon RDS позволяет использовать Консоль управления AWS или простой набор API веб-сервисов для создания, удаления и изменения инстансов реляционной базы данных (инстансов БД). Дополнительно можно контролировать доступ и безопасность инстанса (инстансов) БД и управлять резервным копированием БД и созданием снимков ее состояния. Полный список доступных API Amazon RDS см. в руководстве по API Amazon RDS. Ниже перечислены некоторые часто используемые API и их возможности.
- CreateDBInstance. Позволяет создать новый инстанс БД, указав необходимые параметры: ядро PostgreSQL, класс инстанса БД, объем хранилища, версию ядра БД (необязательно) и политику хранения резервных копий. Кроме того, можно указать, следует ли использовать развертывание во множестве зон доступности для этого инстанса БД. Этот вызов API задает все необходимые параметры доступа к действующей БД PostgreSQL с предустановленным ПО и указанным объемом ресурсов.
- ModifyDBInstance. Позволяет изменять настройки работающего инстанса БД. С помощью этого вызова API можно масштабировать доступные для инстанса БД ресурсы в ответ на изменение нагрузки на базу данных или менять порядок резервного копирования и обслуживания по своему усмотрению, а также перейти на развертывание инстанса в нескольких зонах доступности или, наоборот, вернуться к использованию одной AZ. Этот инструмент можно также использовать в качестве дополнительного средства контроля обновлений версии PostgreSQL для инстанса БД, что позволяет поддерживать совместимость с конкретными версиями базы данных, тестировать новые версии с приложением перед рабочим развертыванием, а также осуществлять обновление на требуемых условиях и в заданные сроки.
- DeleteDBInstance. Удаляет работающий инстанс БД. Amazon RDS позволяет в любой момент остановить работу инстанса БД и платить только за фактически использованные ресурсы.
- CreateDBSnapshot. Создает снимок состояния инстанса БД. Позволяет в любой момент восстановить инстанс БД по созданным пользователями снимкам состояния. Таким образом можно восстановить даже удаленный ранее инстанс БД.
- RestoreDBInstanceToPointInTime. Создает новый инстанс БД из резервной копии на момент времени. Позволяет произвести восстановление состояния на любой момент в пределах указанного периода хранения резервных копий; как правило, восстановление возможно вплоть до последних пяти минут использования базы данных.
- CreateDBInstanceReadReplica. Создает инстанс БД, работающий в качестве реплики чтения исходного инстанса БД.
Миграция в Amazon RDS для PostgreSQL
Если приложение уже использует базу данных PostgreSQL, импортировать данные в Amazon RDS довольно просто. Для переноса данных в Amazon RDS нужно:
- создать инстанс БД с требуемыми вычислительными ресурсами, емкостью хранилища и правилами доступа;
- создать копию данных для импорта с помощью функции pg_dump;
- с помощью psql создать базу данных на инстансе БД и загрузить данные;
- обновить строку подключения базы данных в файле конфигурации приложения.
Инстансы БД Amazon RDS для PostgreSQL, использующие версию PostgreSQL 9.3.5 и более новые, поддерживают роль репликации сессий. Импортировать данные на инстанс БД Amazon RDS для PostgreSQL с минимальным временем простоя можно также, используя данную роль и запускаемые с помощью событий инструменты репликации с открытым исходным кодом, такие как Londiste.
Дополнительные сведения об импорте данных в Amazon RDS см. в разделе «Импорт данных в PostgreSQL» документации Amazon RDS.
Оплата только за потребленные ресурсы
В конце месяца взимается оплата за фактически использованные ресурсы Amazon RDS. Как только вы запустите созданный инстанс БД, за каждый час его работы будет начисляться оплата. Все инстансы БД работают до тех пор, пока их работа не будет прекращена, что может произойти в результате сбоя или после вызова API для удаления инстанса. Неполные часы использования инстанса БД оплачиваются как полные. Помимо времени работы инстанса БД вы также ежемесячно оплачиваете использование хранилища, запросы операций ввода-вывода и резервное копирование. При масштабировании объема хранилища в течение периода, за который выставляется счет, будет произведен соответствующий пересчет стоимости услуг.
Подробную информацию можно найти на странице цен на Amazon RDS для PostgreSQL.
Надлежащее использование и ограничения
Использование данного сервиса регламентируется пользовательским соглашением Amazon Web Services.

Сервис Amazon RDS можно попробовать бесплатно. Платите только за то, чем пользуетесь. Минимальные платежи отсутствуют.

Получите мгновенный доступ к уровню бесплатного пользования AWS.