Detectar desvios em recursos de pilha individuais - AWS CloudFormation

Detectar desvios em recursos de pilha individuais

Você pode detectar desvios em recursos específicos dentro de uma pilha, em vez de na pilha inteira. Isso é especialmente útil quando você só precisa determinar se recursos específicos agora correspondem às configurações de modelo esperadas novamente.

Ao realizar a detecção de desvio em um recurso, o CloudFormation também atualiza o status global de desvio da pilha e o Tempo da última verificação de desvio, se aplicável. Por exemplo, suponha que uma pilha tenha um status de desvio de IN_SYNC. O CloudFormation realiza a detecção de desvio de um ou mais recursos contidos nessa pilha, e o CloudFormation detecta que um ou mais desses recursos se desviou. O CloudFormation atualiza o status de desvio da pilha para DRIFTED. Por outro lado, suponha que você tenha uma pilha com um status de desvio de DRIFTED por causa de um único recurso desviado. Se você definir esse recurso de volta para os valores de propriedade esperados e, em seguida, detectar o desvio no recurso novamente, o CloudFormation atualizará o status de desvio de recurso e o status de desvio de pilha para IN_SYNC, sem exigir que você detecte o desvio na pilha inteira novamente.

Para detectar desvios em um recurso individual usando o AWS Management Console
  1. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation.

  2. Na lista de pilhas, selecione a pilha que contém o recurso. O CloudFormation exibe os detalhes dessa pilha.

  3. No painel de navegação esquerdo, em Pilhas, escolha Ações de pilha e Detectar desvio.

  4. Em Resource drift status (Status de desvio do recurso), escolha o recurso e selecione Detect drift for resource (Detectar desvio para o recurso).

    O CloudFormation realiza a detecção de desvio no recurso selecionado. Se tiver êxito, o CloudFormation atualizará o status de desvio do recurso e o status geral de desvio da pilha, se necessário. O CloudFormation também atualizará o timestamp de quando a detecção de desvio foi executada pela última vez no recurso, e a pilha como um todo. Se o recurso tiver sido modificado, o CloudFormation exibirá informações detalhadas de desvio sobre os valores de propriedade esperados e atuais do recurso.

  5. Revise os resultados da detecção de desvio do recurso.

    1. Para visualizar os detalhes em um recurso modificado.

      1. Com o recurso modificado selecionado, escolha View drift details (Visualizar detalhes de desvio).

        O CloudFormation exibe os detalhes de desvio para esse recurso, incluindo os valores de propriedade esperados e atuais do recurso e quaisquer diferenças entre os dois.

        Para destacar uma diferença, na seção Differences (Diferenças), selecione o nome da propriedade.

        • As propriedades adicionadas são destacadas em verde na coluna Current (Atuais) da seção Details (Detalhes).

        • As propriedades excluídas são destacadas em vermelho na coluna Expected (Esperadas) da seção Details (Detalhes).

        • As propriedades cujo valor foi alterado são destacadas em amarelo nas colunas Expected (Esperadas) e Current (Atuais).

    A seção Status de desvios de recursos da página Detalhes de desvios, que contém as informações de desvio para cada recurso na pilha com suporte para detecção de desvios. Os detalhes incluem o status de desvio e os valores de propriedade esperados e atuais.
Para detectar desvios em um recurso individual usando o AWS CLI
  • Para detectar desvios em um recurso individual usando a AWS CLI, use o comando aws cloudformation detect-stack-resource-drift. Especifique o ID lógico do recurso, bem como a pilha na qual ele está contido.

    O exemplo a seguir executa uma operação de detecção de desvio em recursos de pilha específicos, my-drifted-resource. A resposta retorna informações que confirmam que o recurso foi modificado, incluindo detalhes sobre duas de suas propriedades cujos valores foram alterados.

    $ aws cloudformation detect-stack-resource-drift -\ -stack-name my-stack-with-resource-drift \ --logical-resource-id my-drifted-resource { "StackResourceDrift": { "StackId": "arn:aws:cloudformation:us-east-1:099908667365:stack/my-stack-with-resource-drift/489e5570-df85-11e7-a7d9-50example", "ActualProperties": "{\"ReceiveMessageWaitTimeSeconds\":0,\"DelaySeconds\":120,\"RedrivePolicy\":{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:099908667365:my-stack-with-resource-drift-DLQ-1BCY7HHD5QIM3\",\"maxReceiveCount\":12},\"MessageRetentionPeriod\":345600,\"MaximumMessageSize\":262144,\"VisibilityTimeout\":60,\"QueueName\":\"my-stack-with-resource-drift-Queue-494PBHCO76H4\"}", "ResourceType": "AWS::SQS::Queue", "Timestamp": "2018-03-26T18:54:28.462Z", "PhysicalResourceId": "https://sqs.us-east-1.amazonaws.com/099908667365/my-stack-with-resource-drift-Queue-494PBHCO76H4", "StackResourceDriftStatus": "MODIFIED", "ExpectedProperties": "{\"ReceiveMessageWaitTimeSeconds\":0,\"DelaySeconds\":20,\"RedrivePolicy\":{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:099908667365:my-stack-with-resource-drift-DLQ-1BCY7HHD5QIM3\",\"maxReceiveCount\":10},\"MessageRetentionPeriod\":345600,\"MaximumMessageSize\":262144,\"VisibilityTimeout\":60,\"QueueName\":\"my-stack-with-resource-drift-Queue-494PBHCO76H4\"}", "PropertyDifferences": [ { "PropertyPath": "/DelaySeconds", "ActualValue": "120", "ExpectedValue": "20", "DifferenceType": "NOT_EQUAL" }, { "PropertyPath": "/RedrivePolicy/maxReceiveCount", "ActualValue": "12", "ExpectedValue": "10", "DifferenceType": "NOT_EQUAL" } ], "LogicalResourceId": "my-drifted-resource" } }