Настройка подключения к хранилищу S3

pg_probackup3 поддерживает интерфейс S3 для хранения резервных копий. Данные резервного копирования передаются в S3 и обратно без сохранения в промежуточных хранилищах, что устраняет необходимость в большом временном хранилище.

Пример конфигурации с удалённым агентом и облачным хранилищем (S3) показан на Рисунок 3.1, «Настройка pg_probackup3 с удалённым агентом и S3».

Рисунок 3.1. Настройка pg_probackup3 с удалённым агентом и S3

Настройка pg_probackup3 с удалённым агентом и S3


На этом рисунке показаны следующие логические компоненты:

Сервер резервного копирования

Сервер, на котором работает основной процесс pg_probackup3 и хранятся локальные резервные копии.

Сервер баз данных

Сервер с экземпляром базы данных, для которого требуется резервное копирование.

Удалённый агент

Вспомогательный процесс pg_probackup3, выполняемый на сервере баз данных. Применимо только к удалённому режиму.

Облачное хранилище

Облачное хранилище резервных копий.

Настройка подключения к хранилищу S3

Если вы хотите использовать pg_probackup3 с интерфейсом S3, выполните следующие действия:

  • Создайте для будущих копий в хранилище S3 корзину (bucket) с уникальным и осмысленным именем.

  • Создайте ключи ACCESS_KEY и SECRET_ACCESS_KEY, которые будут использоваться для безопасного подключения вместо имени и пароля пользователя.

  • Для взаимодействия pg_probackup3 с сервером S3 задайте переменные окружения, требуемые для подключения к вашему серверу S3. Например:

    export PG_PROBACKUP_S3_HOST=127.0.0.1
    export PG_PROBACKUP_S3_PORT=9000
    export PG_PROBACKUP_S3_REGION=ru-msk
    export PG_PROBACKUP_S3_BUCKET_NAME=test1
    export PG_PROBACKUP_S3_ACCESS_KEY=admin
    export PG_PROBACKUP_S3_SECRET_ACCESS_KEY=password
    export PG_PROBACKUP_S3_HTTPS=ON

    В качестве альтернативы можно указать параметры сервера S3 в файле конфигурации S3 (за подробностями обратитесь к описанию параметра --s3-config-file в разделе Параметры S3).

    Если --s3=minio, стоит указывать параметры сервера S3, как описано в разделе Параметры S3.

    Можно указать следующие переменные окружения:

    PG_PROBACKUP_S3_HOST

    Адрес или список адресов сервера S3 из одного или нескольких адресов, разделённых точкой с запятой. После последнего адреса в списке точка с запятой не ставится. Для каждого адреса можно также указать номер порта через двоеточие. Если номер порта не указан, используется значение PG_PROBACKUP_S3_PORT. Добавляйте двоеточие только при указании номера порта.

    Например:

    export PG_PROBACKUP_S3_PORT=80
    export PG_PROBACKUP_S3_HOST="127.0.0.1:9000;10.4.13.56:443;172.17.0.1"

    В этом примере для адреса «127.0.0.1» явно указан порт 9000, для «10.4.13.56» — порт 443, а для адреса «172.17.0.1» будет использоваться порт 80, указанный в PG_PROBACKUP_S3_PORT.

    Если какой-либо из указанных адресов становится недоступным во время работы pg_probackup3, запросы к хранилищу S3 распределяются между остальными указанными адресами. То есть, когда указано несколько адресов, pg_probackup3 выполняет балансировку нагрузки запросов S3.

    PG_PROBACKUP_S3_PORT

    Порт сервера S3.

    PG_PROBACKUP_S3_REGION

    Регион для выбора сервера S3.

    PG_PROBACKUP_S3_BUCKET_NAME

    Имя корзины на сервере S3.

    PG_PROBACKUP_S3_ACCESS_KEY, PG_PROBACKUP_S3_SECRET_ACCESS_KEY

    Безопасные ключи доступа к серверу S3.

    PG_PROBACKUP_S3_HTTPS

    Какой протокол использовать. Поддерживаются следующие значения:

    • ON или HTTPS — использовать HTTPS

    • Иное — использовать HTTP

    PG_PROBACKUP_S3_BUFFER_SIZE

    Размер буфера чтения/записи для организации связи с S3, в МиБ. По умолчанию — 16.

    PG_PROBACKUP_S3_RETRIES

    Максимальное количество попыток выполнения запроса к S3 в случае сбоя. По умолчанию — 3.

    PG_PROBACKUP_S3_TIMEOUT

    Максимальное время выполнения HTTP-запроса к серверу S3 в секундах. По умолчанию — 300.

    PG_PROBACKUP_S3_IGNORE_CERT_VER

    Не проверять сертификат узла и узла-партнёра. По умолчанию: ON.

    PG_PROBACKUP_S3_CA_CERTIFICATE

    Указать путь к каталогу файла с сертификатом от доверенного центра сертификации (ЦА).

    PG_PROBACKUP_S3_CA_PATH

    Указать каталог, в котором должны храниться сертификаты доверенного ЦС.

    PG_PROBACKUP_S3_CLIENT_CERT

    Установить клиентский сертификат SSL.

    PG_PROBACKUP_S3_CLIENT_KEY

    Установить файл закрытого ключа для клиентских сертификатов TLS и SSL.