While this is completely possible, it would mean that your instance would be accessible from the internet. Public subnet means that your instances are accessible directly from the outside. Private subnet are not accessible from the outside as instances do not have a publicly routable IP.
In short, security
First, @Meir beat me to the punch on awsvpc network mode, so give him a +1 and read his linked document about task networking.
I'm going to expand on that and include an description of how to route to your containers from both a public-facing ALB, as well as from another container.
To simplify things, we're going to pretend we're running on ECS Fargate to ...
Regardless of instance count, you can publish only the port of publicly available app by adding security rule which will allow external traffic into that port's bound host's port, and for the second one just bridge to the first app
Have you tried using awsvpc mode? https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
You can follow this tutorial - https://docs.aws.amazon.com/AmazonECS/latest/userguide/create-public-private-vpc.html
You need a VPC, with at least two subnets, one private and one public. After that the sky is the limit ...
If you need internet ...