Regras personalizadas do Lambda (exemplo do Amazon EC2) - AWS Config

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Regras personalizadas do Lambda (exemplo do Amazon EC2)

Esse procedimento orienta você no processo de criação de uma regra personalizada do Lambda que avalia se cada uma de suas instâncias do EC2 é do tipo t2.micro. AWS Config executará avaliações baseadas em eventos para essa regra, o que significa que ela verificará as configurações da sua instância sempre que AWS Config detectar uma alteração na configuração em uma instância. AWS Config sinalizará as instâncias t2.micro como compatíveis e todas as outras instâncias como não compatíveis. O status de compatibilidade será exibido no console AWS Config .

Para obter o melhor resultado com esse procedimento, você deve ter uma ou mais instâncias do EC2 em seu Conta da AWS. Suas instâncias devem incluir uma combinação de pelo menos uma instância t2.micro e outros tipos.

Para criar essa regra, primeiro você criará uma AWS Lambda função personalizando um blueprint no AWS Lambda console. Em seguida, você criará uma regra personalizada do Lambda em AWS Config e associará a regra à função.

Criar uma função AWS Lambda para uma regra de configuração personalizada

  1. Faça login no AWS Management Console e abra o AWS Lambda console em https://console.aws.amazon.com/lambda/.

  2. No AWS Management Console menu, verifique se o seletor de região está definido como uma região que suporte AWS Config regras. Para obter a lista das regiões compatíveis, consulte Regiões e endpoints do AWS Config no Referência geral da Amazon Web Services.

  3. No AWS Lambda console, escolha Criar uma função Lambda.

  4. Selecione Use o esquema. Na barra de pesquisa, digite config-rule-change-triggered. Selecione o esquema nos resultados do filtro e escolha Configurar.

  5. Na página Configure triggers (Configurar triggers), selecione Next (Próximo).

  6. Na página Basic information, execute as etapas a seguir:

    1. Em Nome da função, insira InstanceTypeCheck.

    2. Em Função de execução, escolha Criar nova função nos modelos de AWS política.

    3. Para Runtime (Tempo de execução), mantenha Node.js.

    4. Para Nome da função, digite um nome.

    5. Em Modelos de política, selecione Permissões de regras do AWS Config .

    6. Para função de código da função do Lambda, mantenha o código pré-configurado. O código Node.js para a função é fornecido no editor de código. Para esse procedimento, você não precisa alterar o código.

    7. Verifique os detalhes e escolha Criar função. O AWS Lambda console exibe sua função.

  7. Para verificar se a sua função está configurada corretamente, teste-a com as seguintes etapas:

    1. Escolha Teste no menu abaixo Visão geral da função e, em seguida, escolha Configurar evento de teste.

    2. Em Modelo, escolha Notificação de alteração de item de configuração do AWS Config .

    3. Em Nome, digite um nome.

    4. Escolha Testar. AWS Lambda testa sua função com o evento de exemplo. Se a sua função estiver funcionando como esperado, uma mensagem de erro semelhante à seguinte aparecerá em Execution result (Resultado de execução):

      { "errorType": "InvalidResultTokenException," "errorMessage": "Result Token provided is invalid", . . .

      Isso InvalidResultTokenException é esperado porque sua função é executada com êxito somente quando recebe um token de resultado de AWS Config. O token de resultado identifica a regra do AWS Config e o evento que causou a avaliação, e associa uma avaliação a uma regra. Essa exceção indica que sua função tem a permissão de que precisa para enviar resultados para o AWS Config. Caso contrário, a seguinte mensagem de erro será exibida: not authorized to perform: config:PutEvaluations. Se esse erro ocorrer, atualize a função que você atribuiu para sua função, para permitir a ação config:PutEvaluations e testar sua função novamente.

Criação de uma regra Lambda personalizada para avaliar instâncias do Amazon EC2

  1. Abra o AWS Config console em https://console.aws.amazon.com/config/.

  2. No AWS Management Console menu, verifique se o seletor de região está definido para a mesma região na qual você criou a AWS Lambda função para sua regra personalizada do Lambda.

  3. Na página Rules (Regras), selecione Add rule (Adicionar regra).

  4. Na página Especificar tipo de regra, escolha Criar regra personalizada.

  5. Na página Configure rule (Configurar regra), conclua as seguintes etapas:

    1. Para Name (Nome), digite InstanceTypesAreT2micro.

    2. Em Description (Descrição), digite Evaluates whether EC2 instances are the t2.micro type.

    3. Em AWS Lambda function ARN, especifique o ARN que o AWS Lambda atribuiu à sua função.

      nota

      O ARN que você especificou nesta etapa não deve incluir o qualifier $LATEST. Você pode especificar um ARN sem um qualificador de versão ou com qualquer outro qualificador. $LATEST AWS Lambda oferece suporte ao controle de versão de funções, e cada versão recebe um ARN com um qualificador. AWS Lambda usa o $LATEST qualificador para a versão mais recente.

    4. Para Tipo de gatilho, escolha Quando a configuração muda.

    5. Para Scope of changes (Escopo das alterações), escolha Resources (Recursos).

    6. Em Recursos, escolha Instância do EC2 da AWS na lista suspensa Tipo de recurso.

    7. Na seção Parâmetros, você deve especificar o parâmetro de regra que sua AWS Lambda função avalia e o valor desejado. A função para esse procedimento avalia o parâmetro desiredInstanceType.

      Em Key (Chave), digite desiredInstanceType. Em Value, digite t2.micro.

  6. Escolha Próximo. Em Revisar página, verifique os detalhes da função e selecione Criar função. Sua nova regra aparece na página Rules (Regras).

    A conformidade exibirá Avaliação... até AWS Config receber os resultados da avaliação de sua AWS Lambda função. Se a regra e a função estiverem funcionando como esperado, um resumo dos resultados será exibido depois de alguns minutos. Por exemplo, um resultado de 2 noncompliant resource(s) (2 recursos não compatíveis) indica que duas de suas instâncias não são instâncias t2.micro, e um resultado de Compliant (Compatível) indica que todas as instâncias são t2.micro. Você pode atualizar os resultados com o botão de atualizar.

    Se a regra ou a função não funcionar como esperado, você pode consultar uma das opções abaixo para Compliance (Compatibilidade):

    • Nenhum resultado relatado - AWS Config avaliou seus recursos de acordo com a regra. A regra não se aplicou aos recursos da AWS em seu escopo, os recursos especificados foram excluídos, ou os resultados da avaliação foram excluídos. Para obter resultados de avaliação, atualize a regra, mude seu escopo ou selecione Re-evaluate (Reavaliar).

      Verifique se o escopo inclui Instância do AWS EC2 para Recursos e tente novamente.

    • Nenhum recurso no escopo - AWS Config não é possível avaliar seus AWS recursos registrados em relação a essa regra porque nenhum de seus recursos está dentro do escopo da regra. Para obter os resultados da avaliação, edite a regra e altere seu escopo ou adicione recursos AWS Config para registrar usando a página Configurações.

      Verifique se AWS Config está gravando instâncias do EC2.

    • Evaluations failed (Falha nas avaliações) – para obter informações que possam ajudar a determinar o problema, selecione o nome da regra para abrir sua página de detalhes e ver a mensagem de erro.

Se sua regra funcionar corretamente e AWS Config fornecer resultados de avaliação, você poderá saber quais condições afetam o status de conformidade de sua regra. Você pode saber quais recursos não são compatíveis e por quê. Para ter mais informações, consulte Visualizando informações de conformidade e resultados de avaliação de seus AWS recursos.