We're running an AWS setup of SM classic with Amart Analytics, both behind an ELB, there's no possible configuration to make it work.
Smart Analytics in general should work with your schema: SM <---> ELB <---> Smart Analytics (IDOL)
However, it may not be a good idea.
IDOL is like a database, ELB is like Nginx/Apache, access the database through Nginx is not a good idea in general. The best approach to this is to have Domain Name for SM and Domain Name for IDOL, so that they can communicate with Domain Name directly and also keep the setting even the IP changes due to system downtime or auto scaling.
The problem is that we want to ensure that every component in the whole system is always up and running.
That’s why we put the IDOL server in an autoscaling group (constant size 1) behind ELB, to have an automated recovery in case the server fails.
When a new instance spins up, it receives a new IP address (due to governance policies it's not possible to directly use Route53 with our scripting).
Any changes in the IP addresses will be configured manually by a dedicated admin team, what increases our efforts and decreases our level of automation.
We would like to have somehow the possibility to have this setting working, so that when SM sends a query on port 9000 to ELB, the ELB will forward it to the port 9000 of IDOL; and the response from IDOL should go back to ELB, that will forward to SM.