Why do your tasks have public IPs while the data stores stay private?
After this you can answer: Why do your tasks have public IPs while the data stores stay private?
Say it in 30 seconds
Section titled “Say it in 30 seconds”The deeper answer
Section titled “The deeper answer”A public subnet has a default route to an internet gateway. A public IP enables an internet route; neither setting grants permission through a security group. The API service explicitly uses the public subnet IDs and enables public IP assignment. The web service does the same.
The private route table has no internet default route. API-to-database traffic uses private addresses and the VPC’s local route. Postgres allows TCP 5432 from the API group; Valkey allows TCP 6379 from that group. The web group cannot directly reach either store.
Moving tasks into private subnets needs an outbound plan for image pulls, logs, secrets and application AWS calls. NAT or appropriate VPC endpoints are design choices, not settings already present here. I would compare cost, dependency reachability and failure across Availability Zones before migrating.
Counter-questions
Section titled “Counter-questions”Does a public IP expose the API to everyone?
What breaks if you move tasks without adding outbound access?
Is this highly available?
Where in MiniTickets
Section titled “Where in MiniTickets”Read the path chapter, select the relevant map piece →, then inspect infra/src/compute/service.ts → createApiService. Work through the related case for a diagnostic example.
Read this book online: https://book.theversehub.in/