У клиента есть приложение node.js на Ubuntu Linux, развернутое в Azure. Приложение использует SQL-базу, также размещенную в Azure.
Задача - выгрузить базу данных и приложение для того, чтобы организовать отладочную среду.
Задача несколько осложняется тем, что на сервере базы данных настроен firewall, ограничивающий доступ к базе с единственного хоста. Настроить firewall возможности нет.
Доступ к хосту на котором крутится приложение есть.
Для того, чтобы я смог подключиться к SQL-серверу с хоста не разрешенного в firewall, пришлось на хосте с приложением установить haproxy и настроить tcp-proxy до SQL-сервера в Azure:
frontend tcp-in-mssql bind :1433 mode tcp use_backend mssql backend mssql mode tcp server mssqlserver clientname.database.windows.net:1433 check
Теперь я смог подключиться к SQL-серверру в Azure, указав в качестве адреса SQL-сервера адрес хоста с приложением.
Для того, чтобы экспортировать базу нужно:
Data Source=app.hostname.com;Initial Catalog=Web_db;User ID=user;Password=*********;
и нажать Next>
Data Source=localsqlhost;Initial Catalog=Web_db;
и, если используется интегрированная аутентификация, укажем ее тип:
Authentication="Active Directory Integrated";
или логин/пароль в случае SQL-аутентификации. Также, возможно, понадобится выставить Security→TrustServerCertificate = True. Жмем Next.