For that amount of data, do not put it in an rpm, not even 100 of them (e.g. mypgm-data-1.rpm, mypgm-data-2.rpm, ...). Personally, I hate it when I see some programs updating foobar-langpack-1.rpm to foobar-langpack-300.rpm when I'm running yum.
Consider using rsync [tunneled through http?] instead to AWS. It's perfect for the job.
Why are you "scattering them around"??? Why aren't you putting them under /home/mypgm or /usr/share/mypgm?
The rpm install should be quick. You can have the rpm post do the rsync, but I wouldn't do it until the user runs the program and/or config for the first time. It would ask: "Enable automatic/background data updates?"
Give the user a choice. When the program runs it can detect that the local data needs to be refreshed from AWS and [again] prompt the user: "I need to update the program data before I can run. Do it now? It will take X minutes"
For something this massive, give the user a choice about update policy. For example, on Android, you can select "update over wifi only".