...
В файле eccm/.env замените значение пароля пользователя peeper_monitor и все вхождения tester_password/eccm_password на ваш пароль:
...
В файле eccm/.env замените все вхождения old_tester_password, old_eccm_password и old_peeper_monitor_password на ваш новый пароль:
| Блок кода |
|---|
|
...
# Root credentials для развертки и настройки базы данных
ROOT_POSTGRES_USER=tester
ROOT_POSTGRES_PASSWORD=old_tester_password
# Client info для работы с базой данных
ECCM_POSTGRES_DB=eccm
ECCM_POSTGRES_USER=eccm
ECCM_POSTGRES_PASSWORD=old_eccm_passwordpasswordhist
...
PPEEPER_MONITOR_POSTGRES_USER=peeper_monitor
PEEPER_MONITOR_POSTGRES_PASSWORD=old_peeper_monitor_password
... |
...
Настройка PostgreSQL позволяет ограничить доступ нежелательных пользователей к базе данных. Для конфигурирования доступа необходимо, чтобы ЕССМ был запущен.
...
.
Выведите подсети, которые использует docker:
| Блок кода |
|---|
|
sudo docker network inspect internal | grep "Subnet"
"Subnet": "172.21.0.0/16",
sudo docker network inspect external | grep "Subnet"
"Subnet": "172.20.0.0/16"
|
Во избежание утери выставленных настроек доступа, создайте новый файлПерейдите в рабочую директорию ECCM:
| Блок кода |
|---|
|
cd <путь до каталога с файлами запуска ECCM>/postgres/
touch eccm/2.9/ |
| Раскрыть |
|---|
| title | Настройка доступа к БД в отказоустойчивой системе |
|---|
|
Настройте доступ к БД только с localhost, с подсетей docker-а и адреса администратора при помощи любого текстового редактора в файле postgres/data/pg_hba.cluster.conf.tpl |
...
: |
language | bash | docker exec -i eccm-postgres cat /etc/postgresql/pg_hba.conf >> |
| Блок кода |
|---|
| theme | RDark |
|---|
| title | postgres/data/pg_hba.conf.tpl |
|---|
|
# TYPE| title | postgres/data/pg_hba.conf.tpl |
|---|
|
|
Настройте доступ к БД только с localhost, с подсетей docker-а и адреса администратора при помощи любого текстового редактора:
USERADDRESSMETHOD
#"local"isforUnixdomainsocketconnectionsonly
localallalltrust
#IPv4local connections:
hostallall127.0.0.1/32trust
#IPv6localconnections:
hostall
# "local" is for Unix domain socket connections only | all::1/128trust
#Allowreplicationconnectionsfromlocalhost,byauserwiththe
#replicationprivilege.
localreplicationalltrust
hostreplicationall127.0.0.1/32trust
hostreplicationall::1/128trust
#hostallallallmd5
hostallall<eccm_ip>/32md5#IPадресECCMприложений
hostallall<admin_ip>/32md5#опционально:IPадресдляудаленногоподключенияадминистраторакБДhost# IPv4 local connections: | allall172.21.0.0 255.255.0.0 md5 # docker network internal
hostallall172.20.0.0255.255.0.0md5#dockernetwork external |
Смонтируйте созданный файл настроек доступа в БД в файле postgres/docker-compose.yml:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Docker network internal (172.21.0.0/20) и external (172.20.0.0/20)
hostssl ${ECCM_DATABASE} ${POSTGRES_USER} 172.21.0.0/16 md5 # docker network internal
hostssl ${ECCM_DATABASE} ${ECCM_POSTGRES_USER} 172.21.0.0/16 md5 # docker network internal
hostssl all ${PEEPER_MONITOR_POSTGRES_USER} 172.21.0.0/16 md5 # docker network internal
hostssl repmgr ${REPMGR_USER} 172.21.0.0/16 md5 # docker network internal
hostssl ${ECCM_DATABASE} ${POSTGRES_USER} 172.20.0.0/16 md5 # docker network external
hostssl ${ECCM_DATABASE} ${ECCM_POSTGRES_USER} 172.20.0.0/16 md5 # docker network external
hostssl all ${PEEPER_MONITOR_POSTGRES_USER} 172.20.0.0/16 md5 # docker network external
hostssl repmgr ${REPMGR_USER} 172.20.0.0/16 md5 # docker network external
# Опционально: удаленный доступ администратора к БД
hostssl all all <admin_ip>/32 md5 # опционально: IP адрес для удаленного подключения администратора к БД
# Опционально: доступ приложений ECCM инсталляции отказоустойчивой системы с БД на отдельном сервере
hostssl ${ECCM_DATABASE} ${POSTGRES_USER} <master_app_ip>/32 md5 # IP адрес Master-ECCM
hostssl ${ECCM_DATABASE} ${ECCM_POSTGRES_USER} <master_app_ip>/32 md5 # IP адрес Master-ECCM
hostssl all ${PEEPER_MONITOR_POSTGRES_USER} <master_app_ip>/32 md5 # IP адрес Master-ECCM
hostssl repmgr ${REPMGR_USER} <master_app_ip>/32 md5 # IP адрес Master-ECCM
hostssl ${ECCM_DATABASE} ${POSTGRES_USER} <slave_app_ip>/32 md5 # IP адрес Slave-ECCM
hostssl ${ECCM_DATABASE} ${ECCM_POSTGRES_USER} <slave_app_ip>/32 md5 # IP адрес Slave-ECCM
hostssl all ${PEEPER_MONITOR_POSTGRES_USER} <slave_app_ip>/32 md5 # IP адрес Slave-ECCM
hostssl repmgr ${REPMGR_USER} <slave_app_ip>/32 md5 # IP адрес Slave-ECCM |
| Подсказка |
|---|
IP-адреса всех узлов отказоустойчивой системы будут добавлены автоматически при запуске ECCM. |
Синхронизируйте конфигурационные файлы между узлами: | Блок кода |
|---|
| sudo rsync -av --delete --rsync-path="sudo rsync" eccm/2.9/postgres/data/pg_hba.cluster.conf.tpl <имя пользователя сервера>@<IP-адрес сервера назначения>:<полный путь до директории eccm>/postgres/data/ |
В файле .env.cluster измените значение параметра RECONFIGURE_CLUSTER на true и перезапустите систему в соответствии с инструкцией в разделе Запуск ECCM в отказоустойчивой системе. | Примечание |
|---|
Во избежание ошибок верните значение параметра RECONFIGURE_CLUSTER на false. |
|
Настройте доступ к БД только с localhost, с подсетей docker-а и адреса администратора при помощи любого текстового редактора в файле postgres/data/pg_hba.conf.tpl:
| Блок кода |
|---|
| theme | RDark |
|---|
| title | postgres/data/pg_hba.conf.tpl |
|---|
|
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust
#host all all all md5
host all all <eccm_ip>/32 md5 # IP адрес ECCM приложений
host all all <admin_ip>/32 md5 # опционально: IP адрес для удаленного подключения администратора к БД
host all all 172.21.0.0/16 md5 # docker network internal
host all all 172.20.0.0/16 md5 # docker network external |
| Блок кода |
|---|
| language | bash |
|---|
| theme | RDark |
|---|
| title | postgres/docker-compose.yml |
|---|
|
services:
postgres:
...
volumes:
...
- ./data/pg_hba.conf.tpl:/configurations/templates/pg_hba.conf.tpl
... |
Перезапустите ЕССМ:
| Блок кода |
|---|
|
sudo ./compose-tools.sh --stop
sudo ./compose-tools.sh --https --start <IP-адрес сервера или его доменное имя> |
...