Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Блок кода
languagebash
themeRDark
cd eccm/2.89/

В файле eccm/.env замените значение пароля пользователя peeper_monitor и все вхождения tester_password/eccm_password на ваш пароль:

...

Блок кода
languagebash
themeRDark
cd eccm/2.89/

В файле eccm/.env замените все вхождения old_tester_password, old_eccm_password и old_peeper_monitor_password на ваш новый пароль:

Блок кода
themeRDark
titleeccm/.env
...
# 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:

Блок кода
languagebash
themeRDark
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:

Блок кода
languagebash
themeRDark
cd <путь до каталога с файлами запуска ECCM>/postgres/
touch eccm/2.9/
Раскрыть
titleНастройка доступа к БД в отказоустойчивой системе

Настройте доступ к БД только с localhost, с подсетей docker-а и адреса администратора при помощи любого текстового редактора в файле postgres/data/pg_hba.cluster.conf.tpl

...

language

:

Блок кода
bash
themeRDark
docker exec -i eccm-postgres cat /etc/postgresql/pg_hba.conf >>
Блок кода
themeRDark
titlepostgres/data/pg_hba.conf.tpl
# TYPE
titlepostgres/data/pg_hba.conf.tpl

Настройте доступ к БД только с localhost, с подсетей docker-а и адреса администратора при помощи любого текстового редактора:

# TYPE      DATABASE        
USER
    USER        
ADDRESS
                 
METHOD #
 
"local"
 
is
 
for
 
Unix
 
domain
ADDRESS 
socket
 
connections
 
only local
   
all
           METHOD  
all
                                     
trust #
 
IPv4
 
local connections: host
       
all
             
all
             
127.0.0.1/32
            
trust #
 
IPv6
 
local
 
connections: host
    
all
   

# "local" is for Unix domain socket connections only  
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
     
local       all 
::1/128
                all 
trust #host
    
all
             
all
             
all
                     
md5 host
   trust 
all
             
all
             
<eccm_ip>/32
            
md5
  
#
 
IP
 
адрес
 
ECCM
 
приложений host
    
all
             
all
             
<admin_ip>/32
           
md5
  
#
 
опционально:
 
IP
 
адрес
 
для
 
удаленного
 
подключения
 
администратора
 
к
 
БД

host
# IPv4 local connections: 
all
             
all
             
172.21.0.0 255.255.0.0 md5 # docker network internal host
                              
all
             
all
             
172.20.0.0
 
255.255.0.0
  
md5
  
#
 
docker
 
network 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.

Синхронизируйте конфигурационные файлы между узлами:

Блок кода
languagebash
themeRDark
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:

Блок кода
themeRDark
titlepostgres/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
Блок кода
languagebash
themeRDark
titlepostgres/docker-compose.yml
services:
	postgres:
	...
	volumes:
		...
		- ./data/pg_hba.conf.tpl:/configurations/templates/pg_hba.conf.tpl
...

Перезапустите ЕССМ:

Блок кода
languagebash
themeRDark
sudo ./compose-tools.sh --stop
sudo ./compose-tools.sh --https --start <IP-адрес сервера или его доменное имя>

...