Вы можете использовать клиент PostgreSQL psql для подключения к вашему экземпляру БД по соединению Secure Sockets Layer (SSL). SSL шифрует соединения с вашим экземпляром БД, делая передаваемые данные более безопасными.
SSL включён по умолчанию при создании экземпляра RDS for PostgreSQL DB и не может быть отключён после создания экземпляра.
Включение SSL снижает производительность вашего экземпляра в режиме только чтения и чтения/записи примерно на 20%.
Требования
- Вы вошли в ECS.
- Вы должны убедиться, что:
- Э ECS и ваш экземпляр БД находятся в одном VPC.
- Э ECS разрешён группой безопасности для доступа к экземпляру БД.
- Если группа безопасности, с которой связан DB instance, является группа безопасности по умолчанию, вам не нужно настраивать правила группы безопасности.
- Если группа безопасности, с которой связан целевой DB instance, не является группой безопасности по умолчанию, проверьте, позволяют ли правила группы безопасности ECS подключаться к DB instance. Для получения подробной информации см Configuring Security Group Rules.
Если правила позволяют доступ с ECS, вы можете подключиться к DB instance через ECS.
Если правила группы безопасности не позволяют доступ с ECS, вам необходимо добавить правило группы безопасности, позволяющее ECS получить доступ к DB instance.
- Вы должны убедиться, что:
- Вы установили клиент базы данных для подключения к DB instances.
Для получения подробной информации см Installing a PostgreSQL Client.
SSL Connection
- Войдите в консоль управления.
- Нажмите
в левом верхнем углу и выберите регион и проект. - Нажмите Список сервисов. Под База данных, нажмите Relational Database Service.
- Нажмите имя экземпляра БД, чтобы перейти к Основная информация страница. В Информация о БД области, нажмите
рядом с SSL поле для загрузки корневого сертификата и пакета сертификатов. - Импортируйте корневой сертификат в ECS или сохраните его на устройстве для подключения к экземпляру БД.
Для получения подробной информации о том, как импортировать корневой сертификат в Linux ECS, см Как импортировать SSL сертификат экземпляра RDS на сервер Windows или Linux?
- Подключиться к RDS Экземпляр DB. Linux OS используется в качестве примера.
psql --no-readline -h <host> -p <port> "dbname=<database> user=<user> sslmode=verify-ca sslrootcert=<ca-file-directory>"
Таблица 1 Описание параметра Параметр
Описание
<host>
Виртуальный плавающий IP-адрес экземпляра БД, к которому необходимо подключиться. Чтобы получить значение этого параметра, перейдите к Основная информация странице экземпляра БД и просмотрите виртуальный плавающий IP-адрес в Информация о подключении области (если к экземпляру БД необходимо получить доступ через ECS).
<port>
Порт базы данных. Значение по умолчанию 5432. Чтобы получить значение этого параметра, перейдите к Основная информация странице экземпляра БД и найдите номер порта рядом с Порт базы данных поле в Информация о подключении области.
<database>
Имя базы данных (имя базы данных по умолчанию postgres).
<user>
Имя пользователя RDS учетная запись базы данных. Администратор по умолчанию root.
<ca-file-directory>
Директория сертификата CA, используемого для SSL соединения. Этот сертификат следует хранить в директории, где выполняется команда.
sslmode
Режим SSL соединения. Установите его в verify-ca для использования CA с целью проверки доверия к сервису.
Введите пароль учетной записи базы данных, если отображается следующая информация:
Пароль:
Например, чтобы подключиться к экземпляру DB через SSL‑соединение как root, выполните следующую команду:
psql --no-readline -h 192.168.0.44 -p 5432 "dbname=postgres user=root sslmode=verify-ca sslrootcert=/root/ca.pem"
Пароль:
- Войдите в базу данных и проверьте результат соединения. SSL‑соединение установлено, если отображается информация, аналогичная следующей:SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)