Opa, antes de tentar ajudar na solução, é importante entender de que modo esse DDOS é feito.
É um UDP flood ou simplesmente um request no dominio do seu cliente? Ou até mesmo um flood direto na porta?
Que tipo de request é esse que o cloudflare deixa passar? É um GET, u, POST?
De novo, pq a cloudflare nao cacheia isso?
Seu cliente espera requests vindo dessa região onde esse servidor está?
Geralmente um datacenter possui seu bloco de IPs.
Agora vamos lá, caso seu DDOS seja um UDP flood voce pode desativar as portas altas e liberar somente algumas pra sua aplicação.
É um GET ou POST? Ou qualquer outro método? Esse método é esperado no dominio/path do seu cliente? Se não, no cloudflare voce ja cria uma regra pra dar um 405.
Caso seja um método esperado, pq a cloudflare não está cacheando? São requests com query string randomica? Voce espera isso na sua aplicacao? Se nao, outra regra que voce pode criar na cloudflare.
Caso ele esteja chamando a mesma coisa e a cloudflare nao ta cacheando, tem algo errado em alguma regra que ta bypassando tudo isso.
Voce disse que achou o IP desse servidor, ele é de alguma regiao que seu cliente nao espera acessos? Como Asia, sei la? Voce pode colocar um geo block mas isso é muito abrupto. Outro caso seria bloquear uma subnet desse IP, pois provavelmente esse datacenter detem um /16, /8 seja o que for. Bloquei aos poucos, do /24.
--
Bom essa sao algumas dicas, sem saber de fato como esse ddos é feito. Dando detalhes das perguntas acima, fica mais fácil bolar uma solução.