I guess there are many ways to accomplish this.
I’ve done it previously via aws cli. The problem is that because it’s different endpoints a simple aws s3 sync
doesn’t work and I had to write a bash script to manually do it:
s3_move.7z (854 Bytes)
The bash script expects the default profile to be configured as source and the “target” profile for the target. To keep the etag of the objs as md5sum aws cli should be setup with a multipart_threshold
greater than 20MB (e.g. 100MB). The script only works if the server is offline, but it should be trivial to configure it such that it continues on error and doesn’t delete the object on the source once it is copied to dest. Then you can use it to live migrate like below.
An easier option might be to use rclone sync in combination with the strategy of running the sync multiple times while the server is still running. Then shutdown the server, run sync a final time and then start and point the server at the new S3 bucket.