То есть каждый раз нужно ходить руками по регионам (которых на минутку очень много), копировать и вставлять идентификаторы.
Для тех, кто, как и я, страдал похожей фигней, Амазон сделал публичный репозиторий параметров с идентификаторами машин Amazon Linux 2 (и насколько я знаю и более ранних версий). Использовать его до неприличия просто:
# Parameter section
ImageId:
Description: 'Latest Amazon Linux AMI ID'
Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
Default: '/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2'
# Resource Section
WebServerLaunchTemplate:
Type: AWS::EC2::LaunchTemplate
Properties:
LaunchTemplateData:
InstanceType: !Ref InstanceSize
UserData: …
ImageId: !Ref 'ImageId'
SecurityGroupIds:
- !Ref 'WebServerSecurityGroup'
Есть ли похожие для других дистрибутивов, я не проверял.
Подводных камней у такого выбора параметров два: не получится запустить стек, если отвалился Parameter Store, и нужно иметь в виду, что новые версии AMI могут быть несовместимы с вашим приложением.