You can boot with the default spot volume, then pivot_root
init to a separate EBS volume.
The EC2 Spotter tool can manage this for you. A snippet from EC2 Spotter's documentation:
The launch script employs user-data to create a boot-time script that
attaches the specified EBS volume to /dev/xvdf and then proceeds to do
a pivot_root and chroot in order to use it as the main system disk in
place of /dev/xvda. When the instance is first created or restarted
following an interruption, the /sbin/init on the AMI-based EBS volume
(/dev/xvda1) is replaced with a small shell script which performs the
magic pivot_root and chroot and then chain-loads the /sbin/init from
the specified persistent EBS volume (/dev/xvdf1). An extra reboot is
performed when the instance first comes up, to ensure a clean slate.
The end-result is a full Linux system running on the persistent volume
dev/xvdf mounted as /. The ephemeral disk remains mounted under
/old-root and can be unmounted if needed.
Also see this StackOverflow answer: AWS EC2: How to remount previous EBS volume using pivot_root?