Estou sem saber disso.
99% do tempo o CloudFormation é muito bom em fornecer algum tipo de mensagem de depuração com a qual você pode trabalhar, mas "Solicitação inválida" me deixou perplexo, principalmente quando o recurso é bastante simples para começar.
Isso é dito recurso que está me dando problemas (modelo gerado pelo Ansible, portanto, {{...}} notações),
"DatabaseDNSRecord": {
"Type": "AWS::Route53::RecordSet",
"Properties": {
"HostedZoneId": "HOSTED_ZONE_ID",
"Name": "db.{{ item.env_name|lower }}v2.<DOMAIN>.com.",
"ResourceRecords": [
{
"Fn::GetAtt": [ "Database", "Endpoint.Address" ]
}
],
"Type": "CNAME"
},
"DependsOn": "Database"
}
Pelo que sei dos documentos, tudo o que é necessário está presente, correto e no formato certo.
A única coisa em que consigo pensar é em adicionar este recurso a uma pilha existente do CloudFormation que criei anteriormente que já criou o Database
recurso, o que para o registro é um AWS::RDS::DBInstance
(prazer em postar o modelo de recurso também, se necessário, nada de especial) .
Alguma idéia de por que estou recebendo "Solicitação inválida"?
Obrigado.
Edit: Eu tentei isso com e sem o TTL
mesmo erro.
fonte
TTL
funcionou para mim,DependsOn
era desnecessário. obrigado!Além do TTL e do DependsOn, a idéia principal é garantir que o sistema não tente criar o conjunto de registros usando referências que não existem.
Como tal, o DependsOn deve não apenas existir, mas deve listar todos os recursos mencionados na definição do RecordSetGroup (balanceadores de carga, outras entradas de DNS, ENIs, etc.). Isso garantirá que a formação em nuvem adie a criação dos registros DNS até que os pré-requisitos sejam atendidos.
fonte
Eu tenho o problema semelhante, acabei de definir a
TTL
propriedade e ela funciona bem, parece que aTTL
propriedade é uma obrigação para esses conjuntos de registros.Não estou usando,
DependsOn
pois o conjunto de registros depende"ResourceRecords" : [ { "Fn::GetAtt" : [ "ApplicationRds" , "Endpoint.Address" ] } ],
do recurso "ApplicationRds", portanto, não vejo nenhum ganho em usarDependsOn
fonte
Se o mesmo erro está acontecendo ao criar registros que fazer ter um
TTL
conjunto, verifique se eles não sãoALIAS
registros -tipo, como eles devem não ter um TLL (como ele é copiado doAliasTarget
).fonte