Well your code looks good, but I think you also need to specify the disk on the part where you fetch the url. If the default isn't s3 the url won't work
return Storage::disk('s3')->url($cloudpath);
Also when you want to have a url you only need to specify the file name, which in your case should look like this