Como resolvo o erro “Falha na validação do parâmetro: o valor do parâmetro 'abc' para o nome do parâmetro 'ABC' não existe” no CloudFormation?

5 minuto de leitura
0

Quando eu crio ou atualizo minha pilha do AWS CloudFormation, recebo o seguinte erro: “Falha na validação do parâmetro: o valor do parâmetro 'abc' para o nome do parâmetro 'ABC' não existe.” Como posso resolver esse erro?

Breve descrição

O AWS CloudFormation retorna o erro de falha na validação do parâmetro quando um dos parâmetros usados em seu modelo do CloudFormation é um tipo de parâmetro específico da AWS.

Você pode receber esse erro ao usar um parâmetro específico da AWS:

  • Para transmitir um valor que não existe na região ou na conta da AWS durante a criação da pilha.
  • Como propriedade de um recurso e, em seguida, exclua esse valor fora da faixa antes de atualizar o recurso durante a atualização da pilha.
  • Como parâmetro em uma pilha filho. O erro ocorre quando o valor da pilha filho que é passado da pilha pai não corresponde ao tipo de parâmetro. O erro também ocorre quando o recurso do parâmetro não existe na conta dessa região.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), verifique se está usando sua versão mais recente.

Crie uma pilha

1.    Abra o console do AWS CloudFormation.

2.    No painel de navegação, escolha Pilhas.

3.    Na coluna Nome da pilha, escolha a pilha que falhou.

4.    Escolha a guia Parâmetros.

5.    Na coluna Chave, pesquise o parâmetro ABC com o valor abc.

6.    Verifique a seção Parâmetros do modelo usado para criar sua pilha para verificar se o recurso abc corresponde ao tipo de parâmetro específico da AWS.

7.    Verifique se o recurso abc para o parâmetro ABC existe na região ou na conta. Use o Console de Gerenciamento da AWS ou o comando da AWS CLI para descrever o recurso. Para encontrar o comando certo para seu recurso, consulte a seção Localizar o comando de descrição para seu recurso.

Observação: por exemplo, se você usar o tipo de parâmetro AWS::EC2::VPC::Id, verifique o console do Amazon Virtual Private Cloud (Amazon VPC) para ver o recurso.

8.    Se ABC for um parâmetro para a pilha filho, você deverá passar o valor abc. Escolha a Opção A ou a Opção B.

(Opção A) Se você estiver se referindo a outro recurso na pilha pai, verifique se esse recurso corresponde ao tipo de parâmetro específico da AWS usado na pilha filho.

Observação: por exemplo, a pilha falhará se você usar o tipo de parâmetro AWS::EC2::Subnet::Id (sub-rede) e se referir ao tipo de recurso AWS::EC2::VPC.

(Opção B) Se o valor abc passar diretamente da pilha pai, verifique se o recurso abc para o parâmetro ABC existe na região ou na conta. Use o Console de Gerenciamento da AWS ou o comando da AWS CLI para descrever o recurso. Para encontrar o comando certo para seu recurso, consulte a seção Localizar o comando de descrição para seu recurso.

Por exemplo, considere o seguinte parâmetro da Lista na pilha filho:

"SecurityGroups": {
    "Description": "List of security group IDs for the instances",
    "Type": "List<AWS::EC2::SecurityGroup::Id>"
}

O valor para o parâmetro passa da pilha pai. Por exemplo:

"ChildStack" : {
 "Type" : "AWS::CloudFormation::Stack",
 "Properties" : {
    "Parameters":{
      "KeyPair" : { "Ref": "KeyPair" },
      "ImageID" : { "Ref": "ImageID" },
      "InstanceType" : { "Ref": "InstanceType" },
      "SecurityGroups" : { "Ref": "SecurityGroup" }
    }

Importante: No exemplo anterior, verifique se o valor do ID do grupo de segurança que foi passado para o parâmetro SecurityGroup existe na região ou na conta.

9.    Crie uma nova pilha com um valor válido para o parâmetro que existe em sua região ou conta e que corresponda ao tipo de parâmetro específico da AWS.

Atualize a pilha

Quando uma atualização da pilha falha, o CloudFormation reverte as alterações. Isso significa que você não pode ver o valor do parâmetro atualizado por meio do console do AWS CloudFormation.

Você deve alterar o valor do parâmetro ABC durante a atualização. Se você não alterar o valor, o recurso com o nome ou PhysicalID de abc poderá ser excluído da conta fora de banda.

1.    Para verificar se o recurso existe, use o Console de Gerenciamento da AWS ou o comando da AWS CLI para descrever o recurso. Para encontrar o comando certo para seu recurso, consulte a seção Localizar o comando de descrição para seu recurso.

2.    Se você estiver atualizando a pilha atualizando o parâmetro ABC, siga as etapas 6, 7 e 8 da seção anterior Criar uma pilha.

3.    Atualize a pilha passando um valor válido para o parâmetro ABC.

Encontre o comando de descrição para seu recurso

Escolha o comando certo para seu recurso:

  • Para AWS::EC2::Image::Id ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.
  • Para AWS::EC2::Instance::Id ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.
  • Para AWS::EC2::KeyPair::KeyName, use o comando para a versão 1 ou versão 2 da AWS CLI.
  • Para AWS::EC2::SecurityGroup::GroupName, AWS::EC2::SecurityGroup::Id, Lista ou Lista, use o comando para versão 1 ou versão 2 da AWS CLI.
  • Para AWS::EC2::Subnet::Id or List, use o comando para a versão 1 ou versão 2 da AWS CLI.
  • Para AWS::EC2::VPC::Id ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.
  • Para AWS::Route53::HostedZone::Id ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.
  • Para AWS::EC2::AvailabilityZone::Name ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.
  • Para AWS::EC2::Volume::Id ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos