Upload images in external server
In my one of my setups I have a main server and a backup server.
They are separate small virtual machines on different physical boxes.
The entire Drupal install including file uploads is copied over from the main server to the backup server using rsync.

Rsync is an excellent command line *nix tool for copying, syncing files both locally and remotely. There are many configurations you can use. You can then configure a cron job to run it every so often. Here is one of the hundreds of threads

https://unix.stackexchange.com/questions/67539/how-to-rsync-only-new-files

In your case you could just rsync over the /sites/default/files folder.
Just one solution to your problem, but there are many.

Other Drupal module soltions using 3rd party services (like you suggested) are Media mover, CDN and Storage API, all take a bit of configuring but worth it.