Intro

Within an availability zone when application / user resources need to be shared / connected between VPC's it makes sense to connect VPC's together via SDN enabled inter-VPC routing or VPN tunnels. The current way of enabling inter-VPC's routing connectivity between VPC's in CloudStack (4.6) is via a PrivateGateway and one or multiple static route(s).  The privategateway api call is however not available for subdomain admin or non-admin users within CloudStack.  This puts a burden on the root-admins to enable privategateways on VPC's that users have created. Another aspect is that admins or non-admin users of subdomains in CloudStack do not always have the right information, such as gateway address, vlan, and ip, to use a createprivategateway function even if users would be allowed to.  

From a usability and efficiency perspective it does not make sense to require cloud users to a) provide this information, and b) to have to enable a privategateway and to add a static route on each VPC to be connected. 

This design aims to propose a more functional, and for the user more simplified and efficient way of connecting multiple VPC's. The functionality would be called VPC Peering and would aim to provide a simple and efficient interface for users to connect 2 or more VPC's to each other that effectively creates layer 3 reachability between VPC's.

Requirements & limits

 

Procesflow

Domain model

Authorization

Changes

Network providers