VPC (Virtual Private Cloud)
Within a VPC, there might be multiple subnets but in each subnet, there will be a public subnet and a private subnet. One can access the public subnet from outside but they can not access the private subnet.
To give the public subnet a way to connect to internet, Internet gateway is used but and to give private subnet to update itself, NAT gateway is used which ultimately resides under public subnet and is connected to private subnet.
Site to site VPN & Direct VPN
Site to site VPN