Гид по технологиям

Создание и подключение PostgreSQL в Amazon RDS

8 min read Базы данных Обновлено 26 Dec 2025
PostgreSQL в Amazon RDS — создание и подключение
PostgreSQL в Amazon RDS — создание и подключение

Логотипы AWS и PostgreSQL над облаками, видны вершины небоскрёбов

Кратко: пошаговое руководство по созданию PostgreSQL в Amazon RDS и подключению к нему через PgAdmin4 или приложение. Описаны варианты шаблонов, настройки доступности, безопасность и типичные ошибки при подключении.

PostgreSQL (Postgres) — популярная реляционная СУБД, часто используемая для разработки и продакшна. На локальной машине удобно разрабатывать, а для продакшна лучше использовать управляемые инстансы в облаке. Amazon Relational Database Service (RDS) снимает с команды рутинные задачи по администрированию и резервированию баз данных.

В этой статье вы найдёте подробную инструкцию со скриншотами, рекомендации по безопасности и эксплуатационные чек‑листы для разных ролей.

О чём этот материал

  • Что такое Amazon RDS и зачем он нужен
  • Пошаговая инструкция по созданию PostgreSQL в RDS через консоль AWS
  • Как подключиться к базе через PgAdmin4 и приложение (пример для Node.js)
  • Рекомендации по безопасности, мониторингу и отказоустойчивости
  • Чек‑листы для разработчика, DevOps и администратора БД
  • Частые ошибки и способы их устранения

Что такое Amazon RDS

Amazon Relational Database Service (RDS) — управляемый сервис AWS для развёртывания реляционных баз данных: PostgreSQL, MySQL, MariaDB, Oracle и др. RDS автоматизирует установку, патчинг ОС/СУБД, настройку резервного копирования, контроль доступности и обновлений драйверов. Это снижает операционные расходы и ускоряет запуск приложений.

Определение терминов

  • Multi-AZ — конфигурация с репликой в другой зоне доступности для высокой доступности.
  • VPC — виртуальная частная сеть AWS, внутри которой разворачиваются инстансы и RDS.
  • Security group — виртуальный фаервол, который управляет входящими и исходящими соединениями.

Подготовка к созданию инстанса

Перед началом убедитесь в следующем:

  • У вас есть активный аккаунт AWS с правами на создание RDS инстансов и VPC ресурсов.
  • Понимаете, будет ли база публично доступна или только внутри VPC.
  • У вас есть список IP-адресов или диапазонов, которым нужно дать доступ.

Совет: для разработки лучше создать отдельный профиль/проект в аккаунте AWS и использовать тегирование ресурсов для контроля затрат.

Пошаговая инструкция по созданию PostgreSQL в RDS

  1. Откройте AWS Management Console и перейдите в сервис RDS.

  2. На панели RDS нажмите кнопку Create database чтобы открыть мастер создания базы данных.

  3. Выберите метод создания: Standard create или Easy create. Standard create даёт полный контроль над настройками, Easy create создаёт базу по рекомендуемым параметрам.

Выберите Standard create

  1. Выберите движок базы данных. Отметьте PostgreSQL и при необходимости выберите конкретную версию.

Выбор PostgreSQL и версии

  1. Выберите шаблон развертывания (template). Шаблон задаёт набор предустановленных опций:
  • dev или free tier — для тестов и локальной разработки;
  • production — для реальных нагрузок с опциями отказоустойчивости;
  • production — обычно включает настройки для бэкапов и мониторинга.

Выбор шаблона Production

Важно: выбор шаблона влияет на стоимость. Для непродакшен окружений используйте более лёгкие шаблоны.

  1. В зависимости от выбранного шаблона выберите уровень доступности: Single DB Instance для простых задач или Multi-AZ DB Instance/Cluster для высокой доступности и автоматического переключения при отказе.

Выбор доступности и надёжности

  1. Задайте идентификатор базы (DB instance identifier), имя администратора (master username) и пароль. Эти учётные данные будут использоваться в приложении.

Установка идентификатора и учетных данных

  1. Конфигурация инстанса и хранилища. Выберите класс инстанса (например, t3.small и пр.), тип хранения (gp2/gp3) и размер. Можно включить Storage autoscaling чтобы RDS автоматически увеличивал размер при заполнении.

Конфигурация инстанса и хранилища

Рекомендация: для старта возьмите минимально достаточный объём и включите автоскейлинг для хранения.

  1. В разделе Connectivity решите, будет ли база связана с EC2 или доступна извне. Если приложение запускается вне AWS, разрешите Public access. В противном случае оставьте публичный доступ выключенным и подключайтесь из ресурсов внутри VPC.

Настройки подключения и VPC

  1. Создайте новую security group (группу безопасности) или выберите существующую. Группы безопасности управляют inbound/outbound правилами для подключения к базе.

Создание новой security group

  1. Раздел аутентификации и мониторинга. Можно оставить парольную аутентификацию или включить IAM authentication для интеграции с AWS IAM. Включите Performance Insights и логирование, если хотите детальную телеметрию.

Аутентификация и мониторинг

  1. Advanced configuration. Тут доступно включение шифрования (encryption at rest), настройки бэкапов (backup retention), параметрические группы, логирование в CloudWatch и опции maintenance window.

Подсказка: включите bоt‑backup (регулярное автоматическое резервирование) и устанавливайте retention не менее 7 дней для критичных данных.

  1. Нажмите Create database и дождитесь изменения статуса с Creating на Available в консоли RDS.

Подключение к RDS PostgreSQL через PgAdmin4

PgAdmin4 — удобный графический клиент для управления PostgreSQL. Для тестирования созданного инстанса выполните следующие шаги.

  1. Запустите PgAdmin4 и регистрируйте новый сервер.

Регистрация нового сервера в PgAdmin

  1. На вкладке Connection укажите Hostname/Address, порт, имя базы и учётные данные администратора.

  2. В консоли RDS откройте свойства инстанса и скопируйте строку Endpoint. Вставьте её в поле Hostname/Address в PgAdmin. По умолчанию порт PostgreSQL — 5432, а maintenance database — postgres.

Копирование endpoint и порта

Заполнение параметров подключения в PgAdmin

  1. Откройте security group базы в разделе Connectivity & Security и отредактируйте inbound rules. Добавьте правило, разрешающее входящий трафик по нужному порту только с вашего IP (My IP) или из конкретного диапазона.

Секция групп безопасности

Редактирование правил inbound

  1. Сохраните сервер в PgAdmin. Если всё настроено правильно, PgAdmin подключится и покажет базу в списке серверов.

Успешное подключение в PgAdmin

После установки соединения вы можете выполнять SQL-запросы, управлять схемами и таблицами.

Подключение к RDS PostgreSQL из Node.js

Пример простого подключения с помощью модуля pg.

// Установите пакет: npm install pg
const { Pool } = require('pg');

const pool = new Pool({
  host: 'your-rds-endpoint.amazonaws.com',
  port: 5432,
  user: 'masteruser',
  password: 'yourpassword',
  database: 'postgres',
  ssl: { rejectUnauthorized: false } // для RDS с TLS
});

async function test() {
  const client = await pool.connect();
  try {
    const res = await client.query('SELECT NOW()');
    console.log('Server time:', res.rows[0]);
  } finally {
    client.release();
  }
}

test().catch(err => console.error('DB error', err));

Советы:

  • Используйте пул подключений для веб‑приложений.
  • Храните секреты в AWS Secrets Manager или в зашифрованных переменных окружения.
  • Включайте ssl при подключении по публичному доступу.

Частые проблемы и рекомендации по устранению

  1. Timeout при подключении
  • Проверьте inbound правила security group и разрешите порт 5432 для вашего IP.
  • Убедитесь, что Public access включён, если вы подключаетесь извне VPC.
  • Проверьте маршрут (route table) и наличие NAT/Internet Gateway для публичных подсетей.
  1. Ошибка аутентификации
  • Проверьте имя пользователя и пароль.
  • Если вы используете IAM authentication, убедитесь, что вы получаете токен для подключения.
  1. Ошибки SSL
  • Укажите ssl: { rejectUnauthorized: false } для тестов или настройте проверку сертификата в продакшне.
  1. Низкая производительность
  • Включите Performance Insights, чрезмерно медленные запросы найдёте в APM или CloudWatch.
  • Проверьте параметры autovacuum и maintenance для Tables.
  1. Хранилище переполнено
  • Включите Storage autoscaling или увеличьте размер вручную.

Безопасность и рекомендации по жёсткой конфигурации

  • Отключите Public access для продакшен баз и размещайте приложение в той же VPC.
  • Ограничьте inbound правила security group узкими диапазонами IP или диапазонами подсетей.
  • Включите Encryption at rest (KMS) для защиты данных на диске.
  • Используйте SSL/TLS для шифрования трафика при подключении.
  • Рассмотрите использование IAM authentication для ротации учётных данных и централизованного контроля доступов.
  • Включите автоматические бэкапы и настройте retention в соответствии с политикой восстановления.

Важно: обеспечьте процесс ротации паролей и управление секретами через AWS Secrets Manager.

Чек‑листы по ролям

Чек‑лист для разработчика

  • Использовать пул подключений в приложении
  • Не хранить пароль в коде, использовать переменные окружения
  • Тестировать подключение с одинаковыми параметрами, что будут в проде
  • Убедиться, что время ожидания запросов настроено корректно

Чек‑лист для DevOps

  • Настроить security groups и Network ACLs
  • Проверить VPC и подсети, наличие Internet Gateway/NAT
  • Настроить бэкапы, retention и window поддержки
  • Включить мониторинг Performance Insights и CloudWatch логирование
  • Настроить уведомления о проблемах (SNS/CloudWatch Alarms)

Чек‑лист для администратора БД

  • Настроить параметрические группы (parameter groups)
  • Настроить maintenance window и плановое обновление
  • Оптимизировать autovacuum и параметры WAL
  • Контролировать долгие транзакции и блокировки

Минимальная операционная процедура для создания базы

  1. Подготовка: выбрать VPC, подсеть и security group.
  2. Мастер создания: Standard create → PostgreSQL → Выбрать шаблон.
  3. Конфигурация: класс инстанса, тип и размер диска, включить autoscaling.
  4. Безопасность: включить шифрование, создать новую security group.
  5. Сеть: выбрать приватные подсети для продакшна или включить public access для тестов.
  6. Мониторинг: включить Performance Insights, CloudWatch и логирование.
  7. Тестирование: подключиться через PgAdmin/psql и выполнить простые запросы.
  8. Переход в прод: отключить public access, ограничить правила SG и настроить бэкап.

Решение, какой шаблон и конфигурация нужны

flowchart TD
  A[Начало: цель использования базы] --> B{Тест/Разработка?}
  B -- Да --> C[Выбрать dev/free шаблон, public access по необходимости]
  B -- Нет --> D{Нужна высокая доступность?}
  D -- Да --> E[Выбрать production, Multi-AZ, шифрование, бэкапы]
  D -- Нет --> F[Single instance, мониторинг, бэкапы]
  E --> G[Настроить security groups и приватные подсети]
  F --> G
  C --> G
  G --> H[Тестирование подключения и мониторинг]
  H --> I[Запуск приложения]

Критерии приёмки

  • Статус инстанса в консоли RDS — Available.
  • Удачное подключение через PgAdmin и выполнение SELECT 1.
  • Настроенные backup retention и мониторинг.
  • Security group ограничивает доступ к базе только нужным IP/подсетям.

Частые вопросы

Нужно ли включать Public access для продакшен базы

Нет. Для продакшена рекомендуется отключать Public access и держать базу внутри VPC. Public access допускается для тестовых окружений, но требует строгих правил security group.

Какой порт у PostgreSQL

По умолчанию порт 5432.

Нужно ли включать Storage autoscaling

Если вы не уверены в росте объёма данных, включите Storage autoscaling. Для стабильных продакшен‑систем лучше планировать объём и наблюдать использование.

Резюме

Amazon RDS делает развёртывание PostgreSQL быстрым и предсказуемым: вы избегаете рутинных задач по патчингу, бэкапам и восстановлению. Для тестов можно использовать public access и простые шаблоны, а для продакшена — Multi-AZ, шифрование и строгие правила безопасности. Настройте мониторинг и храните секреты в менеджере секретов.

В следующих шагах проверьте интеграцию приложения с пулом подключений, перенесите секреты в AWS Secrets Manager и настройте оповещения об инцидентах.


Короткая заметка: если вы хотите, я могу подготовить шаблон Terraform или CloudFormation для автоматического развёртывания того же инстанса.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как сменить DNS в Windows 11
Сеть

Как сменить DNS в Windows 11

Мягкая перезагрузка iPhone — быстро и безопасно
Смартфоны

Мягкая перезагрузка iPhone — быстро и безопасно

Диагностика Mac с помощью Apple Service Diagnostic
Инструкции

Диагностика Mac с помощью Apple Service Diagnostic

Сменить браузер по умолчанию в Windows 11
Windows

Сменить браузер по умолчанию в Windows 11

Как обновить прошивку 3D-принтера
3D-печать

Как обновить прошивку 3D-принтера

Участвуйте в фотоконкурсе: почему и как подготовиться
Фотография

Участвуйте в фотоконкурсе: почему и как подготовиться