Is there any common method to provide people the pool of IP addresses my ELB uses?
Sim, o ELB é baseado no EC2 e a AWS publica uma lista de todos intervalos IP públicos em uso por regiões específicas. Deve ser seguro assumir que todos os IPs que seu ELB pode usar estarão dentro do intervalo publicado para sua região.
Esses intervalos de IP estão sujeitos a alterações sem aviso prévio, mas a AWS mantém uma lista atual em um JSON formato que pode ser usado para manter a lista branca automaticamente.
Por outro lado, isso é meio redundante, já que o objetivo do DNS é fornecer uma lista atual de IPs associados a um nome de host.
Or is that ridiculous and they'd just have to use some solution which can whitelist DNS addresses?
Não é totalmente ridículo que eles não possam listar um nome de host como qualquer solução de firewall que suporte que teria que resolver o nome do host DNS para um IP em tempo de execução e respeitar o TTL para manter essa lista atualizada ou else funcionar na camada 7 e inspecionar o campo de cabeçalho HTTP do host.
O que é um pouco incomum é que eles desejam listar em branco as conexões de saída, é mais comum querer fazer uma lista branca de conexões de entrada (como quando você está tentando acessar a API) e, nesse caso, pode atribuir instâncias atrás de seu ELB e um EIP, portanto, quando seus servidores de aplicativos iniciam uma conexão de saída, eles têm um IP estático (embora isso possa atrapalhar o dimensionamento automático).
Em geral, o ELB não se destina a ser uma solução de prata para todos, ele faz concessões que fornecem benefícios significativos (como escalonamento transparente) para 90% dos casos de uso, em detrimento de uma minoria de possíveis usuários. Se você realmente precisa de um IP estático para seu balanceador de carga, o OpsWorks faz a orquestração do HAProxy quase tão fácil.