我们刚刚将我们的应用程序迁移到 Docker 环境。我的虚拟机中有许多运行 Python 应用程序的容器。(每个虚拟机 4 个容器)。这是一个多租户应用程序。
此应用程序需要通过 IPSEC 隧道连接到特定客户基础设施。(使用 SSH 和 HTTPS)。这意味着每个客户都被分配一个容器,并且只有这个容器可以通过 IPSEC 隧道到达远程网络。
在虚拟机世界中,我安装了 OpenSwan 并启用了 VPN LAN 到 LAN。我的 VPN 建立了与远程集中器的直接连接,并且我为每个客户预留了 1 个虚拟机。
现在有了 Docker 基础架构,我们的应用程序是一个微服务,是否可以遵循相同的逻辑并在与我的应用程序相同的 Docker 容器中安装 OpenSWAN ? 或者安装 OpenSWAN 并让此容器路由流量是否有意义?
前:
虚拟机 — 应用程序 + OpenSWAN
VPN <------> VM
现在:
虚拟机-[Docker 应用程序1] [Docker 应用程序2]
后:
虚拟机 — [Docker App1 + OpenSwan] [Docker App2 + OpenSwan]
VPN <------> [Docker App1 + OpenSwan]