Ansible, открыть внешние подключения к Postgresql
Чтобы открыть внешние подключения к PostgreSQL через Ansible, необходимо внести изменения в конфигурацию PostgreSQL и разрешить доступ к серверу извне. Для этого потребуется обновить файлы конфигурации PostgreSQL, такие как postgresql.conf
и pg_hba.conf
, а также перезапустить службу. Вот пример плейбука Ansible для выполнения этих задач.
Шаги:
- Разрешить прослушивание на всех интерфейсах (0.0.0.0) в файле
postgresql.conf
. - Добавить правила аутентификации в
pg_hba.conf
, чтобы разрешить подключения с внешних IP-адресов. - Открыть порт PostgreSQL (обычно 5432) в брандмауэре (если это необходимо).
- Перезапустить службу PostgreSQL после внесения изменений.
Пример Ansible плейбука:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
--- - name: Открытие внешних подключений к PostgreSQL hosts: postgres_servers become: true tasks: - name: Изменить параметр listen_addresses в postgresql.conf lineinfile: path: /etc/postgresql/14/main/postgresql.conf regexp: '^#?listen_addresses' line: "listen_addresses = '*'" state: present notify: Перезапустить PostgreSQL - name: Добавить правило в pg_hba.conf для внешних подключений lineinfile: path: /etc/postgresql/14/main/pg_hba.conf line: "host all all 0.0.0.0/0 md5" state: present notify: Перезапустить PostgreSQL - name: Убедиться, что порт 5432 открыт в UFW (брандмауэр) ufw: rule: allow port: 5432 proto: tcp handlers: - name: Перезапустить PostgreSQL service: name: postgresql state: restarted |
Описание:
lineinfile
: Модуль изменяет конфигурацию PostgreSQL. В файлеpostgresql.conf
параметрlisten_addresses
указывает, на каких IP-адресах будет прослушиваться PostgreSQL. Устанавливаем его в значение"*"
для прослушивания на всех интерфейсах.pg_hba.conf
: Здесь добавляется правило для разрешения подключений с любых IP-адресов (0.0.0.0/0
) с использованием аутентификацииmd5
.ufw
(Uncomplicated Firewall): Открывает порт 5432 для внешних подключений через брандмауэр UFW. Этот шаг необходим только если на сервере включен брандмауэр.- Handlers: Перезапуск PostgreSQL для применения изменений.
Дополнительные шаги:
- Убедитесь, что в вашей сети настроены правильные правила брандмауэра для защиты сервера.
- Используйте более строгие правила в
pg_hba.conf
, если не хотите разрешать подключение всем пользователям и с любых IP.
Этот плейбук автоматически настроит PostgreSQL на внешние подключения и откроет необходимые порты.
Recommended Posts
Плейбук Ansible по развертыванию haproxy
15.02.2024