We have a fairly large redis database (~40GB) at our colocation facility that we wish to migrate to AWS' ElastiCache Redis service. The challenge is the data is frequently updated in production (tens of thousands of write operations / minute) so uploading an RDB file to ElastiCache would result in an ElastiCache instance that is already out of date.
Amazon's documentation recommends importing an RDB file of the existing database - which is fine. But how do we also import the hundreds of thousands of write operations that took place between the time we took the RDB snapshot, uploaded it to S3, and imported it into the ElastiCache instance? ElastiCache doesn't seem to support SLAVEOF so we can't simply make it a slave initially and then switch it to the master.
What options exist to keep an ElastiCache redis instance in approximate sync with an external redis server until we're ready to flip the switch and make the ElastiCache server the primary redis server?