Then your app is probably making an outgoing request at some point (login?). You need to either find another way of doing that, or you need to keep the NAT
So why it is not sending outgoing request from ALB?
Like it is sending http request from ALB but now other requests?
I don’t know what you mean. ALB’s don’t ‘send’ requests. They forward them. Which requests are you talking about. Where are they going from/to? ALBs are not involved if your application is making a request out to a third party.
I meant is that
My App is working and displaying page Publicly on Browser without NAT GW but when I send any request to my API is gives 504 GW Timeout.
why
Like I said before. Probably your app is making a backend request out to the internet? Do you login using some sort of SSO? Maybe your app calls out to a third party when you try to login?