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

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

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

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

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

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

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

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

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

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

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

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

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

      Параметр

      Описание

      Регион

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

      ПРИМЕЧАНИЕ:

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

      DB Instance Name

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

      DB Engine

      PostgreSQL

      DB Engine Version

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

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

      DB Instance Type

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

      AZ

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

      Вы можете развернуть свои primary и standby instances в одном AZ или в разных AZ, чтобы обеспечить failover и high availability.

      Time Zone

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

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

      Параметр

      Описание

      Instance Class

      Относится к vCPU и памяти DB instance. Разные instance class поддерживают различное количество соединений с базой данных и максимальный 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 может быть от 40 GB до 4,000 GB, при этом выбранный размер должен быть целым кратным 10 GB.

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

      Disk Encryption

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

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

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

      Parameter

      Description

      VPC

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

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

      ПРИМЕЧАНИЕ:

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

      Подсеть

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

      IPv4 address:

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

      Security Group

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

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

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

      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
      Таблица 5 Tags

      Parameter

      Description

      Tag

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

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

    • Пакетное создание
      Таблица 6 Пакетное создание

      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 и т.д. Если суффиксы существующих инстансов уже достигли 0010, новые имена инстансов начнутся с instance-0011.

    Note

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

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

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

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

    • Когда ваш DB instance создаётся, статус — Creating. После создания инстанса статус меняется на Available.
    • Политика автоматического бэкапа включена по умолчанию. Вы можете изменить её после создания RDS 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 нажмите DB instance name, чтобы перейти на страницу Basic Information.
  3. Выберите Connectivity & Security в панели навигации. В области Connection Information получите плавающий IP-адрес и порт базы данных DB instance.
  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 предоставляет client installation methods для различных ОС. Вы можете загрузить и установить клиент с помощью инструмента установки ОС. Этот метод установки прост, но может использоваться только для ОС, поддерживаемых сообществом PostgreSQL.

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

    Figure 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

    Figure 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 получите плавающий IP-адрес и порт базы данных DB‑инстанса.
  4. На ECS проверьте, можно ли подключиться к плавающему IP-адресу и порту базы данных DB‑инстанса.
    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. Клиент можно установить самым простым способом.

      Рисунок 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

      Рисунок 4 Тестирование psql


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

  1. На Instances странице консоли RDS нажмите имя DB instance, чтобы перейти к Basic Information странице.
  2. В панели навигации выберите Connectivity \u0026 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 \u003chost\u003e -p \u003cport\u003e "dbname=\u003cdatabase\u003e user=\u003cuser\u003e sslmode=verify-ca sslrootcert=\u003cca-file-directory\u003e"

    Пример:

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

    Table 7 Параметры

    Параметр

    Описание

    \u003chost\u003e

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

    \u003cport\u003e

    Порт базы данных получен в 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)