Spot Fleet aims to meet your capacity requirements across a range of instances. This reduces the risk of any unavailability of a specific instance type or family affecting your workload.
As you are interested in only one specific machine type, you will need to remove the other types from your spot fleet request; or just create a separate spot instance ...
Anything that "needs" to happen in a given time frame is not a candidate for spot instances, including spot blocks.
Spot capacity is, by definition, surplus/idle capacity, subject to availability, so your spot block may simply fail to start, as capacity may not be available. It is less expensive for exactly that reason -- AWS is selling surplus capacity ...
I resolved this issue by removing the vendor folder in the Laravel package.
Once the vendor folder is removed, the composer.json file is automatically used to run the installation. All necessary files are then downloaded and installed.
This removes the need to run the 'composer install' command post installation.