У нас есть несколько локаций на машинном дворе. Каждая из них запускает одно и то же приложение, но на разных стадиях: продакшн, стейджинг и т.д. Всего около 10 сред. Теперь мы хотим каждую ночь сбрасывать производственную базу данных и восстанавливать ее в остальных средах, чтобы иметь самые последние данные.
Проблема в том, что экземпляр из одной среды не может получить доступ к экземплярам в других средах. Есть два способа подключения, которые нам подходят:
- SSH.
- Укажите хост RDS в качестве параметра
--host
дляmysqldump
. Хост RDS имеет формуenvironment.random_string.region.rds.amazonaws.com
, а не обычное имя хоста EC2.
Ни один из них не работает из коробки. Простым решением было бы сгенерировать ключи RSA на всех серверах, которым нужен доступ, и добавить их в authorized_hosts
для всех серверов, которым должен быть разрешен доступ. Однако это решение нельзя масштабировать: как только мы добавим или воссоздадим среду, нам потребуется повторить процесс.
Есть ли лучшее решение?