Na verdade, eu percebi isso. Eu tinha seguido uma resposta para isso em fórum do AWS Cloudformation mas eu esqueci (desculpe) que este segmento também estava ativo.
O problema é que o exemplo de modelo ELB está incompleto - por isso, quando o copiei, meu exemplo também estava incompleto: você precisa especificar um tipo de instância (t1.micro por exemplo, ou m1.large) explicitamente, ou então o padrão é assumido.
Para citar minha postagem no fórum da AWS
The sample ELB template which I copied doesn't specify the InstanceType property for the instances it makes. It uses the InstanceType to look up the AMI, but it doesn't actually specify it.
If you specify the InstanceType along with a matching AMI, all is well.
Por exemplo, este é um extrato de um modelo especificado corretamente:
"Parameters" : {
"InstanceType" : {
"Description" : "Type of EC2 instance to launch",
"Type" : "String",
"Default" : "t1.micro"
}
...
"LaunchConfig": {
"Type": "AWS::AutoScaling::LaunchConfiguration",
"Properties": {
"SecurityGroups": [{"Ref": "SecurityGroup" }],
"KeyName" : { "Ref" : "KeyName" },
"InstanceType" : { "Ref" : "InstanceType" }
....
}
},
'
Eu não tentei, mas espero que o exemplo da AWS não funcione para todas as combinações de AMIs sem esse parâmetro adicionado.
Cloudformation é legal, mas ainda é bem cedo. Eu já vi vários bugs na documentação até agora. Portanto, não assuma se você acertar um obstáculo em que você está fazendo algo errado ... você pode não estar.