1

I'm working on a multi-tenant SaaS app that integrates with customer on-prem systems over Minimal Lower Layer Protocol on TCP/IP. As the name suggests, MLLP does not support any encryption, so typically security is implemented by configuring a VPN between the hosts.

The SaaS App runs on an EC2 instance and provisions a new listening port for each new tenant. The connection is bidirectional, so the SaaS App listens/receives messages from the customer on-prem system, as well as sends messages to the customer on-prem API endpoint.

                                                                 +-----------------+
                           VPN-1 /---------------------\         | SaaS App Server |
                                 |                     |         |                 |
[Customer1 on-prem API]==========|====[]   <->   []====|========== :3001           |
                                 |                     |         |                 |
                                 \---------------------/         |                 |
                                                                 |                 |
                           VPN-2 /---------------------\         |                 |
                                 |                     |         |                 |
[Customer2 on-prem API]==========|====[]   <->   []====|========== :3002           |
                                 |                     |         |                 |
                                 \---------------------/         |                 |
                                                                 |                 |
                           VPN-N /---------------------\         |                 |
                                 |                     |         |                 |
[CustomerN on-prem API]==========|====[]   <->   []====|========== :N              |
                                 |                     |         |                 |
                                 \---------------------/         |                 |
                                                                 +-----------------+

Is it possible to configure multiple VPNs to a single host or service, so that customers have secure, isolated connections and I can run a single App Server / service?

All of the examples I have found for multiple VPNs (eg Site-to-Site VPN single and multiple connection examples) are for the classic use case of pooling VPNs withing the same organization (ie New York office, LA office, etc).

I am open to using anything in the AWS toolkit (VPCs, Nat Gateways, Network Load Balancers, etc) and can configure services dynamically as I provision new customers.

If the answer is: No, it's more trouble than it's worth, you are better just running one EC2 per Customer that would be good to know too.

simj
  • 111

0 Answers0