pg_probackup3 поддерживает интерфейс S3 для хранения резервных копий. Данные резервного копирования передаются в S3 и обратно без сохранения в промежуточных хранилищах, что устраняет необходимость в большом временном хранилище.
Пример конфигурации с удалённым агентом и облачным хранилищем (S3) показан на Рисунок 3.1, «Настройка pg_probackup3 с удалённым агентом и S3».
На этом рисунке показаны следующие логические компоненты:
Сервер, на котором работает основной процесс pg_probackup3 и хранятся локальные резервные копии.
Сервер с экземпляром базы данных, для которого требуется резервное копирование.
Вспомогательный процесс pg_probackup3, выполняемый на сервере баз данных. Применимо только к удалённому режиму.
Облачное хранилище резервных копий.
Если вы хотите использовать 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.