Vagrant lets you run a single command, vagrant up which will download an operating system image, install it into Virtualbox, boot a virtual machine, and then run shell scripts or Puppet to install software packages or make other changes to the operating system after it boots up the first time.
If you want to store a UUID in sqlite and use the minimal possible amount of disk space, it seems like the best solution may be to represent each UUID as a 16 byte binary string and store it in a BLOB column. I tested inserting 100,000 UUIDs into a table using three strategies with Sqlite 3.7.9, and the resulting file sizes were:
sending a task that's larger than the SQS message size limit fails with <?xml version="1.0"?><Error><Type>Sender</Type><Code>InvalidParameterValue</Code><Message>Value for parameter MessageBody is invalid. Reason: Message body must be shorter than 262144 bytes.</Message><Detail/></Error>