MySQL synchronization
Classical MySQL replication replication should work:

Assumptions made:


your cloud instance is read only.


The master won't be able to trigger the replication however by default a slave will retry every 60 seconds (configurable CHANGE MASTER .. MASTER_CONNECT_RETRY=).

Ensure your expire_binlog_days is large on the ship based master. Account for the space required carefully on your master and cloud instance.

I'd recommend the ship based master connect via a VPN and the slave connects to the VPN address.

For multiple vessels, you can use use a multisource replication available in MySQL-5.7+ or MariaDB-10.0+. Keep each vessel in its own database for simplicity.

Choose a binlog_format that minimises your traffic volume.