У меня есть 3 экземпляра ec2. Клиент, Сервер, ДС. Это СРЕДНИЙ стек Клиент - это Angular UI, Сервер - это Node / Express Backend, а экземпляр DS содержит базу данных и несколько приложений Python.
В настоящее время Клиент взаимодействует с сервисом DS посредством вызовов API.
Экземпляры клиента и сервера используют Apache для прокси и PM2 для обслуживания. Клиентский прокси-сервер от порта 80 до порта 4200. Серверный прокси-сервер от порта 80 до порта 12345. Единственный открытый порт - это порты 80 и 443 в этих двух экземплярах. Соединения с SSH и базой данных ограничены определенными IP-адресами. Экземпляр DS не использует Apache (пока). В настоящее время на них запущено 3 колб-приложения с pm2. Скажем, на портах 1000, 2000, 3000. Приложения для фляг установлены с помощью например. app.run (host = "0.0.0.0", port = "3000") на любом порту.
В настоящее время я могу получить доступ к этим приложениям колб, открыв соответствующие порты для всех IP-адресов 0.0.0.0/0. Но в моем понимании это угроза безопасности. Поскольку Клиент выполняет вызовы API через http для экземпляра DS, я не могу ограничить доступ к определенному IP-адресу? Как мне ограничить доступ к экземпляру DS?
Моей первой мыслью было, возможно, использовать Apache для перенаправления маршрутов API. Но я все еще новичок в развертывании, поэтому я не совсем уверен, как или если это вообще возможно.