Yes, you can replicate buckets that have Versioning enabled and buckets with Object Lock enabled.
For all data existing in the source bucket at the time of the first replication job, only the latest version will be replicated.
For every subsequent replication job, the latest version at the time the job runs will be replicated. NOTE: It is possible that an object could be updated multiple times in between replication jobs. For example, if object A in the source bucket has been updated from V1 to V2 to V3 since the last replication job, only V3 will be replicated to the destination bucket.
IMPORTANT: Due to the nature of S3, the replicated objects will not contain the same VersionID, or Object Lock settings.
This can potentially lead to data that is unusable by a 3rd party application that has placed the data. If you are using a 3rd party application, please verify with the Vendor of the application that replicating the data in Object Storage is supported.
If you are using a custom-built application, please validate that you have the ability to read objects which have been replicated. It is highly recommended to test this out before replicating your full dataset.