Насколько я понимаю, AMI содержит все файлы системы, включая скомпилированное ядро.
Когда вы создаете AMI из снимка, вы можете указать идентификатор ядра (например, aki- *). Почему тогда вам нужно указывать идентификатор ядра при запуске экземпляра из AMI, в котором уже указан идентификатор ядра?
Amazon использует паравиртуализацию Xen, которая требует, чтобы ядро было предоставлено как часть конфигурации. Xen использует ядро совсем иначе, чем, скажем, VMWare или KVM. Помимо прочего, это позволяет гипервизору эффективно работать без расширений виртуализации ЦП.