Облачная платформаAdvanced

Покупка RDS for PostgreSQL Instance и подключение к нему с помощью клиента PostgreSQL

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

После покупки RDS for PostgreSQL instance вы можете подключиться к нему из Linux ECS с установленным клиентом PostgreSQL через приватную сеть.

Вы можете подключиться к DB instance с помощью клиента PostgreSQL, используя SSL. SSL шифрует соединения с вашим DB instance, делая передаваемые данные более защищёнными.

SSL включён по умолчанию при создании RDS for PostgreSQL DB instance и не может быть отключён после создания instance.

Включение SSL снижает производительность только чтения и чтения/записи вашего instance примерно на 20 %. Для получения подробностей см. Impact of SSL Encryption on Database Performance.

Процесс операции

Процесс

Описание

Шаг 1: Купить RDS for PostgreSQL Instance

Создать и настроить DB instance.

Шаг 2: Создать ECS

Если вы хотите использовать клиент PostgreSQL для подключения к DB instance, необходимо подготовить сервер, установить клиент PostgreSQL на сервер и выполнить команду подключения.

Создайте Linux ECS, находящийся в том же регионе и VPC, что и ваш DB instance.

Шаг 3: Проверить подключение и установить клиент PostgreSQL

Проверьте сетевое подключение между ECS и плавающим IP-адресом и портом RDS for PostgreSQL instance, а также установите клиент PostgreSQL на ECS.

Шаг 4: Подключение к DB Instance с помощью CLI (SSL Connection)

Используйте интерфейс командной строки (CLI) для подключения к RDS for PostgreSQL instance, используя плавающий IP‑адрес и порт.

Шаг 1: Приобретение RDS for PostgreSQL Instance

  1. Войдите в консоль управления.
  2. Click в верхнем левом углу и выберите регион и проект.
  3. Click в верхнем левом углу страницы и выберите Database > Relational Database Service.
  4. На странице Instances нажмите Buy DB Instance.
  5. На странице Buy DB Instance задайте информацию об инстансе и нажмите Buy Now.

    • Базовая информация
      Table 1 Базовая информация

      Параметр

      Описание

      Регион

      Регион, в котором находятся ваши ресурсы.

      ПРИМЕЧАНИЕ:

      Products в разных регионах не могут взаимодействовать друг с другом через частную сеть. После создания DB instance регион изменить нельзя. Поэтому будьте осторожны при выборе региона.

      DB Instance Name

      Разные DB instances могут иметь одинаковое имя. Имя instance должно начинаться с буквы и состоять из 4 до 64 символов. Допустимы только буквы (case-sensitive), цифры, дефисы (-) и подчёркивания (_) .

      DB Engine

      PostgreSQL

      DB Engine Version

      Поддерживаемые версии DB engine могут различаться в зависимости от региона. Для получения фактического списка вариантов см. console.

      При создании RDS for PostgreSQL instance выбирайте подходящую версию DB engine, соответствующую вашим рабочим нагрузкам. Рекомендуется выбирать последнюю доступную версию, так как она более стабильна, надёжна и безопасна.

      DB Instance Type

      • Primary/Standby: использует HA‑архитектуру с первичным DB instance и синхронным standby DB instance. Подходит для производственных баз данных крупных и средних предприятий в сферах Internet, Internet of Things (IoT), розничной электронной коммерции, логистики, игр и других отраслей. При создании первичного instance одновременно создаётся standby instance для обеспечения избыточности данных. После создания standby instance будет невидим для вас.
      • Single: использует автономную архитектуру, которая дешевле, чем primary/standby DB instances. Рекомендуется для разработки и тестирования микросайтов, небольших и средних предприятий, а также для изучения RDS.

      AZ

      AZ — это физический регион, в котором ресурсы используют независимые источники питания и сети. AZ изолированы физически, но соединены внутренней сетью.

      Вы можете развернуть свои primary и standby instances в одном AZ или распределить их по AZ для обеспечения отказоустойчивости и высокой доступности.

      Time Zone

      Выберите часовой пояс в зависимости от региона, в котором будет размещён ваш instance.

    • Класс instance и хранилище
      Table 2 Класс instance и хранилище

      Параметр

      Описание

      Класс instance

      Относится к vCPU и памяти DB instance. Разные классы instance поддерживают различное количество соединений с базой данных и максимальный IOPS.

      После создания DB instance вы можете изменить его класс instance. Подробности см. Changing a DB Instance Class.

      Тип хранилища

      Определяет скорость чтения/записи instance. Более высокая максимальная пропускная способность обеспечивает более быстрые операции ввода‑вывода.

      Ultra-high I/O: использует тип диска SSD, поддерживающий максимальную пропускную способность 350 МБ/с.

      Extreme SSD: использует сеть 25GE и технологии RDMA, обеспечивая пропускную способность до 1 000 МБ/с на диск и субмиллисекундную задержку.

      High I/O: поддерживает максимальную пропускную способность 150 МБ/с.

      Объём хранилища

      Содержит системные накладные расходы, необходимые для inodes, зарезервированных блоков и операций базы данных. Объём хранилища может быть от 40 ГБ до 4,000 ГБ, при этом выбранный размер должен быть целым кратным 10 ГБ.

      После создания DB instance вы можете увеличить его объём хранения. Для подробностей см. Scaling Storage Space.

      Disk Encryption

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

        Если выбрать эту опцию, появляется параметр Key Name. Выберите существующий ключ или создайте новый в качестве tenant key.

      • После включения шифрования диска применяются следующие ограничения:
        • Если включить шифрование диска при создании instance, статус шифрования диска и ключ позже изменить нельзя.
        • Шифрование диска не шифрует резервные данные, хранящиеся в бакетах Object Storage Service (OBS).
        • Обеспечьте безопасность ключа. После того как ключ будет отключён, удалён или заморожен, ваш instance станет недоступным, и его данные могут не быть восстановлены.
    • Сетевые и конфигурации баз данных
      Table 3 Сеть

      Parameter

      Description

      VPC

      Виртуальная сеть, в которой находятся ваши RDS instances. VPC может изолировать сети для разных рабочих нагрузок. Вы можете выбрать существующий VPC или создать VPC.

      Если VPC недоступен, RDS выделит VPC по умолчанию.

      NOTICE:

      После создания DB instance VPC изменить нельзя.

      Subnet

      Повышает безопасность сети, предоставляя выделенные сетевые ресурсы, логически изолированные от других сетей. Subnet действителен только в пределах конкретного AZ. Dynamic Host Configuration Protocol (DHCP) включён по умолчанию для subnet, в которых планируется создание RDS instances, и его нельзя отключить.

      IPv4 address:

      Floating IPv4 address автоматически назначается при создании DB instance. Вы также можете ввести неиспользуемый floating IPv4 address в subnet CIDR block. После создания DB instance вы можете изменить floating IP address.

      Security Group

      Security Group контролирует сетевой трафик как входящего, так и исходящего направлений и ограничивает доступ по портам. По умолчанию security group, связанная с RDS instance, авторизована.

      Security groups повышают безопасность, контролируя доступ к RDS из других сервисов. Убедитесь, что выбранный security group позволяет клиенту получить доступ к DB instance.

      Если security group недоступен, RDS выделит security group по умолчанию.

      Table 4 Конфигурация базы данных

      Parameter

      Description

      Administrator

      Имя входа по умолчанию для базы данных — root.

      Administrator Password

      Пароль должен состоять из 8–32 символов и включать как минимум три из следующих типов: заглавные буквы, строчные буквы, цифры и следующие специальные символы: ~ ! @ # $ % ^ * - _ = + ? ,

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

      Если пароль, который вы указали, считается системой слабым, вам будет предложено указать более надёжный пароль.

      Храните этот пароль в безопасности. Система не может его восстановить.

      После создания DB instance вы можете сбросить этот пароль. Подробнее см. Resetting the Administrator Password.

      Confirm Password

      Должно совпадать с Administrator Password.

      Parameter Template

      Содержит значения конфигурации движка, которые могут быть применены к одной или нескольким DB instances одного и того же DB engine. Если вы планируете создать пару primary/standby DB, они используют один и тот же parameter template. Вы можете при необходимости изменить instance parameters после создания DB instance.

      NOTICE:

      Если при создании DB instance вы используете пользовательский parameter template, следующие параметры, связанные со спецификацией, в пользовательском шаблоне не передаются. Вместо этого используются значения по умолчанию.

      • maintenance_work_mem
      • shared_buffers
      • max_connections
      • effective_cache_size

      После создания instance вы можете при необходимости изменить его параметры. Подробнее см. Modifying Parameters of an RDS for PostgreSQL Instance.

      Enterprise Project

      Если ваш аккаунт связан с Enterprise Project, выберите целевой проект из выпадающего списка Enterprise Project.

    • Tags
      Table 5 Tags

      Parameter

      Description

      Tag

      Теги для RDS instance. Этот параметр необязателен. Добавление тегов к RDS instances помогает лучше идентифицировать и управлять instance. Можно добавить до 20 тегов для каждого instance.

      После создания DB instance вы можете просмотреть детали тегов на странице Tags. Подробнее см. Managing Tags.

    • Batch creation
      Table 6 Batch creation

      Parameter

      Description

      Quantity

      RDS поддерживает пакетное создание DB instance. Если вы выбираете создание primary/standby DB instances и задаете Quantity равным 1, будет создана primary DB instance и standby DB instance синхронно.

      Если вы создаете несколько DB instances одновременно, их имена будут включать четырехзначный суффикс. Например, если вы указываете instance здесь, имена будут instance-0001, instance-0002 и т.д. Если суффиксы существующих instances уже достигли 0010, новые имена instances начнутся с instance-0011.

    Note

    Производительность вашего RDS instance зависит от его конфигураций. Параметры аппаратной конфигурации, которые вы можете выбрать, включают instance class, storage type и storage space.

  6. Подтвердите спецификации.

    • Если вам необходимо изменить настройки, нажмите Previous.
    • Если вам не требуется изменять настройки, нажмите Submit.

  7. Чтобы просмотреть и управлять вашим RDS instance, перейдите на страницу Instances.

    • Во время создания вашего DB instance статус Creating. После создания instance статус меняется на Available.
    • Политика автоматического бэкапа включена по умолчанию. Вы можете изменить её после создания RDS instance. Система автоматически создаёт полный бэкап после создания instance.
    • Порт базы данных по умолчанию 5432. Вы можете изменить его после создания DB instance.

      Подробности см. в Changing a Database Port.

Шаг 2: Создать ECS

  1. Войдите в консоль управления и проверьте наличие доступного ECS.
    • Если существует Linux ECS, перейдите к 2.
    • Если Linux ECS отсутствует, создайте ECS и выберите Linux (например, CentOS 7) в качестве ОС.

      Чтобы установить клиент PostgreSQL на ECS, привяжите EIP к ECS и убедитесь, что ECS находится в том же регионе, VPC и группе безопасности, что и экземпляр RDS for PostgreSQL для бесшовной связи.

      Подробности о том, как приобрести Linux ECS, см. "Purchasing an ECS" в Elastic Cloud Server User Guide.

  2. Проверьте, находятся ли ECS и экземпляр RDS for PostgreSQL в одном регионе и VPC.
    • Если они находятся в разных регионах, создайте ещё один ECS. ECS и экземпляр БД в разных регионах не могут взаимодействовать друг с другом. Чтобы снизить сетевую задержку, разверните ваш экземпляр БД в регионе, ближайшем к вашим рабочим нагрузкам.
    • Если они находятся в разных VPC, измените настройки VPC у ECS. Подробности см. в разделе "Changing a VPC" в Elastic Cloud Server User Guide.

Шаг 3: Проверка подключения и установка клиента PostgreSQL

Метод 1: Установка клиента PostgreSQL (PostgreSQL 15 или более ранней версии)

  1. Войдите в ECS. Подробности см. в разделе "Logging In to a Linux ECS Using VNC" в Elastic Cloud Server User Guide.
  2. На странице Instances консоли RDS нажмите имя экземпляра БД, чтобы перейти на страницу Basic Information.
  3. Выберите Connectivity & Security в панели навигации. В области Connection Information получите плавающий IP-адрес и порт базы данных экземпляра БД.
  4. На ECS проверьте, можно ли подключиться к плавающему IP-адресу и порту базы данных экземпляра RDS for PostgreSQL.
    curl -kv 192.168.0.7 : 5432
    • Если да, сетевое подключение в порядке.
    • Если нет, проверьте правила группы безопасности.
      • Проверьте правила исходящего трафика группы безопасности ECS. Если адрес назначения не 0.0.0.0/0 и протокол & порт не All, добавьте правило исходящего трафика, содержащее плавающий IP-адрес и порт экземпляра RDS.
      • Проверьте правила входящего трафика группы безопасности RDS. Добавьте правило входящего трафика, содержащее частный IP-адрес и порт ECS. Для получения подробной информации см. Configuring Security Group Rules.
  5. Установите клиент PostgreSQL.

    PostgreSQL community предоставляет методы установки клиента для различных ОС. Вы можете загрузить и установить клиент, используя инструмент установки ОС. Этот метод установки прост, но может использоваться только для ОС, поддерживаемых сообществом PostgreSQL.

    В этом примере используется CentOS 7. Используйте инструмент установки ОС по умолчанию для установки клиента (PostgreSQL 15 или более ранней версии).

    Рисунок 1 Получение инструмента установки


    Запустите команды installation:

    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    sudo yum install -y postgresql15-server

    Проверьте, успешна ли установка.

    psql -V

    Рисунок 2 Успешная установка


Метод 2: Установка клиента PostgreSQL (Нет ограничений по версиям PostgreSQL)

  1. Войдите в ECS. Для получения подробной информации см. "Logging In to a Linux ECS Using VNC" в Elastic Cloud Server User Guide.
  2. На странице Instances консоли RDS нажмите имя экземпляра БД, чтобы перейти на страницу Basic Information.
  3. Выберите Connectivity & Security в панели навигации. В области Connection Information получите плавающий IP-адрес и порт базы данных экземпляра БД.
  4. На ECS проверьте, можно ли подключиться к плавающему IP-адресу и порту базы данных экземпляра БД.
    curl -kv 192.168.0.7 : 5432
    • Если да, сетевое подключение нормально.
    • Если нет, проверьте правила группы безопасности.
      • Проверьте правила исходящего трафика группы безопасности ECS. Если адрес назначения не 0.0.0.0/0 и протокол & порт не All, добавьте правило исходящего трафика, содержащее плавающий IP-адрес и порт экземпляра RDS.
      • Проверьте правила входящего трафика группы безопасности RDS. Добавьте правило входящего трафика, содержащее частный IP-адрес ECS и порт. Для получения подробной информации см. Configuring Security Group Rules.
  5. Установите клиент PostgreSQL.

    Установка из исходного кода: Этот метод установки не накладывает ограничений на версии экземпляров RDS for PostgreSQL и типы ОС ECS.

    Ниже приведён пример с использованием ECS на образе EulerOS, описывающий процесс установки клиента PostgreSQL 16.4.

    1. Чтобы использовать SSL для подключения к экземпляру БД, заранее загрузите OpenSSL на ECS.
      sudo yum install -y openssl-devel
    2. Получите code download link, выполните wget для загрузки пакета установки на ECS, либо download the installation package to the local PC и затем загрузите его на ECS.
      wget https://ftp.postgresql.org/pub/source/v16.4/postgresql-16.4.tar.gz
    3. Распакуйте пакет установки.
      tar xf postgresql-16.4.tar.gz
    4. Скомпилируйте код, а затем установите клиент.
      cd postgresql-16.4
      ./configure --without-icu --without-readline --without-zlib --with-openssl
      make -j 8 && make install
      Note

      Если --prefix не указан, путь по умолчанию — /usr/local/pgsql. Клиент можно установить самым простым способом.

      Figure 3 Компиляция и установка


    5. Добавьте следующий код в файл /etc/profile для настройки переменных окружения:
      export PATH=/usr/local/pgsql/bin:$PATH
      export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
      source /etc/profile
    6. Проверьте, доступен ли psql.
      psql -V

      Figure 4 Тестирование psql


Шаг 4: Подключение к DB Instance с помощью CLI (SSL Connection)

  1. На странице Instances консоли RDS нажмите имя DB instance, чтобы перейти на страницу Basic Information.
  2. В панели навигации выберите Connectivity & Security.
  3. В области Connection Information найдите поле SSL и нажмите , чтобы загрузить пакет Certificate Download.zip. Затем извлеките корневой сертификат ca.pem и набор ca-bundle.pem из пакета.
  4. Загрузите ca.pem в ECS.
  5. Выполните следующую команду на ECS для подключения к DB instance:

    psql --no-readline -h <host> -p <port> "dbname=<database> user=<user> sslmode=verify-ca sslrootcert=<ca-file-directory>"

    Пример:

    psql --no-readline -h 192.168.0.7 -p 5432 "dbname=postgres user=root sslmode=verify-ca sslrootcert=/root/ca.pem"

    Table 7 Параметры

    Параметр

    Описание

    <host>

    Floating IP-адрес, полученный в 3.

    <port>

    Порт базы данных получен в 3. Значение по умолчанию — 5432.

    <database>

    Имя базы данных для подключения. Имя базы данных по умолчанию — postgres.

    <user>

    Учётная запись администратора root.

    <ca-file-directory>

    Каталог сертификата CA, используемого для SSL‑соединения. Этот сертификат должен быть сохранён в каталоге, из которого выполняется команда.

    sslmode

    Режим SSL‑соединения. Установите значение verify-ca, чтобы использовать CA для проверки доверия к сервису.

  6. Введите пароль учётной записи базы данных по запросу.
    Password:

    Если отображается следующая информация, соединение успешно.

    SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)