How to use EC2 Connect to SSH into a Private Subnet
Your instance must be reachable from the outside, either being placed in a public subnet and being attached with Elastic IP; or in a private subnet of a VPC on which Direct Connect, S2S VPN or VPC peering is used.
More info at Set up EC2 Instance Connect.
bascially you need to create what we call a ‘jump box" in the US, some call it a bastion host, but back in the day bastion host meant the server running the firewall software, so i prefer jump box. From your jump box, on a public network you can connect to the private subnet. if you want an EC2 on a private subnet to be able to reach the Internet you will need a NAT GW, for things like updating the OS using yum or apt-get.
in other words just adding the route to the NAT-GW is all you need.