Por mais que eu tenha entendido, não há nada errado no nível da ACL ou da rede, já que você está dizendo que isso funciona algumas vezes.
O que eu posso ver é que você está atingindo um limite no número máximo de processos para o Mysql. Portanto, quando você se conecta e emite qualquer comando, se o número de processos permitidos para execução estiver saturado, será necessário aguardar e sua solicitação entrará na fila. Mas se você não conseguir um slot, depois disso, o tempo limite.
Você pode verificar o mesmo observando os gráficos disponíveis no RDS. Se o gráfico está indo em algum valor, então meu palpite está correto.
O número total de conexões depende do tipo de instância que você está usando. Que você pode verificar e definir na opção do grupo de parâmetros do banco de dados. Pesquise max_connections
.
Não sei quais são os valores padrão para diferentes tipos de instâncias, mas tenho certeza de que essas informações devem estar em algum lugar na Internet.