A quick audit found three of the most common cloud exposures at once: a publicly reachable database, an S3 bucket open to the internet, and SSH open to 0.0.0.0/0 on the app servers.
By the end, none of the three should be exposed: the database unreachable from the internet, the S3 bucket not public, and admin access to the app servers not relying on an open inbound SSH port. The load balancer is the one thing that should stay public.