Using cloudflare is one solution, but hidden all the direct ips of your server/website to be shown. However if the attacked know your ip of your server (which i assume he know it) he will ddos you directly to your servers ip, and herefore cloudflare won't help anything here. You have two solutions:
1. Go with a provider that offer layer 7 ddos protection.
2. Change your website ip address, and activate cloudflare which it will hide the real ip of your website.