Thank you, this looks great! However, when I try to run fast.ai instance (ami-b43d1ec7) using your second approach, I run into some kernel versions mismatch issues. They use 4.4.0–36, and your preboot image (ami-405f7226) uses 4.4.0–64 so modprobe gets confused:
>modprobe: ERROR: ../libkmod/libkmod.c:514 lookup_builtin_file() could not open builtin file ‘/lib/modules/4.4.0–64-generic/modules.builtin.bin’
What do you think would be the easiest workaround? I tried to use fast.ai ami as preboot, increased the volume to 128 to make spot request success, but then the root swap script did not execute. Is there anything specific to your preboot image to make root swap successful? Or is there an easy way to get the version of your preboot ami with the specific kernel?