Облачная платформа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‑соединение)

Используйте интерфейс командной строки (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 задайте информацию об instance и нажмите Buy Now.

    • Основная информация
      Table 1 Основная информация

      Параметр

      Описание

      Регион

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

      ПРИМЕЧАНИЕ:

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

      DB Instance Name

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

      DB Engine

      PostgreSQL

      DB Engine Version

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

      При создании 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.

    • Технические характеристики и хранилище
      Table 2 Технические характеристики и хранилище

      Параметр

      Описание

      Instance Class

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

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

      Storage Type

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

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

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

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

      Storage Space

      Содержит системные накладные расходы, необходимые для inodes, зарезервированных блоков и работы базы данных. Storage space может варьироваться от 40 GB до 4 000 GB и может масштабироваться только кратно 10 GB.

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

      Disk Encryption

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

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

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

      Parameter

      Description

      VPC

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

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

      ПРИМЕЧАНИЕ:

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

      Подсеть

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

      IPv4-адрес:

      Плавающий IPv4-адрес автоматически назначается при создании DB instance. Вы также можете ввести неиспользуемый плавающий IPv4-адрес в CIDR-блок подсети. После создания DB instance вы можете изменить плавающий IP-адрес.

      Группа безопасности

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

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

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

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

      Параметр

      Описание

      Администратор

      Имя входа по умолчанию для базы данных — 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. Вы можете изменить параметры инстанса по мере необходимости после создания DB instance.

      NOTICE:

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

      • maintenance_work_mem
      • shared_buffers
      • max_connections
      • effective_cache_size

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

      Enterprise Project

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

    • Tags
      Table 5 Tags

      Parameter

      Description

      Tag

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

      После создания DB-инстанса вы можете просмотреть детали его тегов на странице Tags. Для получения подробной информации см. RDS for PostgreSQL Tags.

    • Batch creation
      Table 6 Batch creation

      Parameter

      Description

      Quantity

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

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

    Note

    Производительность вашего RDS instance зависит от его конфигураций. К аппаратным параметрам конфигурации, которые вы можете выбрать, относятся instance class, storage type и Объём хранения.

  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
    • Если да, сетевое подключение в порядке.
    • Если нет, проверьте правила группы безопасности.
      • If the ECS security group lacks an outbound rule with Destination set to 0.0.0.0/0 and Protocol & Port set to All, add an outbound rule for the DB instance's floating IP address and port.
      • Если в security group DB instance нет inbound rule, позволяющего доступ с private IP address и port ECS, добавьте inbound rule для private IP address и port ECS. Для получения подробной информации см. Configuring Security Group Rules.
  5. Установите клиент PostgreSQL.

    Сообщество PostgreSQL предоставляет client installation methods для различных ОС. Вы можете загрузить и установить клиент, используя установочный инструмент ОС. Этот метод установки прост, но может использоваться только для ОС, поддерживаемых сообществом 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. On the Instances page of the RDS console, click the DB instance name to go to the Basic Information page.
  3. Выберите Connectivity & Security в панели навигации. В области Connection Information получите floating IP address и database port инстанса DB.
  4. На ECS проверьте, можно ли подключиться к floating IP address и database port инстанса DB.
    curl -kv 192.168.0.7 : 5432
    • Если да, сетевое подключение нормально.
    • Если нет, проверьте правила security group.
      • Если в группе безопасности ECS отсутствует исходящее правило с Destination, установленным на 0.0.0.0/0, и Protocol & Port, установленным на All, добавьте исходящее правило для плавающего IP-адреса и порта DB instance.
      • Если в группе безопасности DB instance нет входящего правила, разрешающего доступ с частного IP-адреса и порта ECS, добавьте входящее правило для частного IP-адреса и порта ECS. Подробности см. Configuring Security Group Rules.
  5. Установите клиент PostgreSQL.

    Installation from source code: Этот метод установки не накладывает ограничений на версии инстансов RDS for PostgreSQL и типы ОС ECS.

    Ниже используется ECS с образом EulerOS в качестве примера для описания установки клиента PostgreSQL 16.4.

    1. Чтобы использовать SSL для подключения к DB instance, заранее загрузите 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‑соединение)

  1. На странице Instances консоли RDS нажмите DB instance name, чтобы перейти на страницу 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)