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.