# Autofix: Automações de regras do CCA (AWS)

### Visão Geral

O Autofix é uma funcionalidade integrada ao CCA (Sistema de Compliance da PierCloud) que permite a execução de correções automáticas em recursos AWS. Ele atua como um motor de remediação: ao identificar recursos ociosos, mal configurados ou passíveis de otimização, o Autofix automatiza a resolução que, de outra forma, exigiria intervenção manual.

### Objetivo e Funcionamento

O Autofix transforma diagnósticos de compliance em ações corretivas imediatas. O fluxo de operação segue quatro etapas principais:

1. Detecção: O CCA identifica um "erro" ou desvio de configuração (baseado em regras e gatilhos predefinidos) em um recurso da sua conta AWS.
2. Ativação: O usuário habilita a opção de Autofix para aquela regra específica ou serviço no painel do CCA.
3. Execução: Uma vez ativado, o sistema assume o comando e executa a correção diretamente na infraestrutura AWS, sem necessidade de acesso manual à conta por parte do usuário.
4. Monitoramento: O resultado da automação e os detalhes da correção podem ser acompanhados no Histórico de Ações.

***

### Gatilhos e Regras

A inteligência do Autofix é baseada na avaliação constante das regras de negócio. O comportamento do sistema varia de acordo com o serviço afetado:

* Avaliação de Regras: O sistema varre todas as contas conectadas em busca de inconformidades.
* Ativação por Gatilho: Se um recurso atinge os critérios negativos da regra, o gatilho de correção é disparado automaticamente.

### Frequência de Execução

A prontidão do sistema para processar correções segue as seguintes diretrizes:

* Processamento Padrão: As *issues* com Autofix ativado são processadas em até 24 horas após a detecção inicial do problema.
* Configuração Personalizada: A frequência pode variar conforme a parametrização definida no CCA para cada tipo de regra e conta específica.

***

### Benefícios e Boas Práticas

* Eficiência Operacional: Elimina tarefas manuais repetitivas de administração de nuvem.
* Segurança e Compliance: Garante que vulnerabilidades ou configurações fora do padrão sejam corrigidas rapidamente.
* Redução de Custos: Atua prontamente sobre recursos ociosos identificados pelo sistema.
* Recomendação: Antes de ativar o Autofix em larga escala, revise os gatilhos no CCA para garantir que a automação está alinhada às janelas de manutenção e políticas da sua organização.

***

### Acessando as regras do CCA na plataforma Pier:&#x20;

Ao acessar o menu lateral, você encontrará a funcionalidade do CCA conforme imagem abaixo.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FwvznhEiGpZXIY9f4xka5%2Fimage.png?alt=media&#x26;token=bb925b5e-acb6-48e7-9382-7aec793271da" alt=""><figcaption></figcaption></figure>

Se for selecionada a engrenagem "![](https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2F4XFNzYVvyVJqPG2sNsKH%2Fimage.png?alt=media\&token=4c638f19-3124-4f5a-af61-0ceb96569129)" na opção “Contas com Autofix”, ele vai mostrar a lista de contas do provedor. Então vai ter um botão para ativar, assim que for ativado, o Autofix vai realizar a ação automaticamente.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FeeGARROQEJcJQQ5E9mMK%2Fimage.png?alt=media&#x26;token=d03b39d3-c4e0-4c92-a4dd-6c08c1ddc7d2" alt=""><figcaption></figcaption></figure>

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2Fz8RiLlWPGbuszjQQy3mO%2Fimage.png?alt=media&#x26;token=389c44b0-862d-4a65-8430-6c54f95ae093" alt=""><figcaption></figcaption></figure>

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FT7PiAMazIPnHWVOTpq4v%2Fimage.png?alt=media&#x26;token=54e29ee9-135a-4700-ba4e-6112320d23fc" alt=""><figcaption></figcaption></figure>

As regras que abrangem o Autofix dentro do CCA são, até o momento, as seguintes:

### EC2

**Instâncias EC2 Paradas:**

* Cria uma AMI (imagem) da instância antes de qualquer ação, preservando todas as suas configurações e tags
* Após a AMI estar disponível, a instância é terminada
* A AMI fica disponível na sua conta para restauração futura se necessário
* Adiciona tag `Pier:Autofix:Executed` com timestamp na instância antes de terminar

***

### EBS

**Volume EBS Desanexado:**

* Cria um snapshot do volume preservando todas as suas tags
* Após o snapshot ser concluído, o volume é deletado
* O snapshot fica disponível na sua conta
* Adiciona tag `Pier:Autofix:Executed` com timestamp no volume antes de deletar

**Snapshot EBS Antigo:**

* Remove o snapshot diretamente
* Adiciona tag `Pier:Autofix:Executed` com timestamp no snapshot antes de deletar

**Migração de Volume GP2 para GP3**

* Migra o tipo do volume de GP2 para GP3
* O IOPS é preservado se o valor atual for maior que 3000
* Não há downtime durante a migração
* Adiciona tag `Pier:Autofix:Executed` com timestamp no volume após migração

***

### EIP

**Elastic IP Desanexado**

* Libera o endereço Elastic IP que não está associado a nenhum recurso.
* Adiciona tag `Pier:Autofix:Executed` com timestamp no EIP antes de liberar.

***

### ELB

**Load Balancer sem instâncias**

* Remove o Load Balancer (suporta Classic, ALB e NLB).
* Adiciona tag `Pier:Autofix:Executed` com timestamp no Load Balancer antes de deletar.

***

### RDS

**Migração de Storage GP2 para GP3:**

* Migra o tipo de storage da instância RDS de GP2 para GP3.
* Aplicado imediatamente, sem necessidade de janela de manutenção.
* Adiciona tag `Pier:Autofix:Executed` com timestamp na instância após migração.

**Migração para Graviton:**

* Cria um snapshot de segurança da instância antes de qualquer alteração.
* Após snapshot disponível, modifica a classe da instância para o tipo Graviton equivalente.
* O processo é feito em etapas e pode levar mais de uma execução para concluir.
* Adiciona tag `Pier:Autofix:Executed` com timestamp na instância após migração.

**Deleção de Instância RDS:**

* Cria um snapshot final da instância com prefixo `pier-{timestamp}-{nome}` antes de deletar.
* O snapshot fica disponível na sua conta para restauração.
* Adiciona tag `Pier:Autofix:Executed` com timestamp na instância antes de deletar.

**Arquivamento de Snapshot RDS:**

* Cria bucket S3 `piercloud-autofix-{account_id}-{region}` se não existir (sem versionamento).
* Cria chave KMS com tags `creator=Pier Cloud` e `piercloud:module=Pier Cloud Autofix` se não existir.
* Exporta o snapshot para o bucket S3 usando a chave KMS para criptografia.
* Após a exportação ser concluída, o snapshot RDS é deletado.
* O processo de exportação pode levar horas dependendo do tamanho do snapshot.
* Adiciona tag `Pier:Autofix:Executed` com timestamp no snapshot antes de deletar.

***

### S3

**Ativar Intelligent Tiering:**

* Ativa a política de Intelligent Tiering no bucket S3.
* Move automaticamente objetos pouco acessados para classes de armazenamento mais baratas.
* Os tiers e períodos são configurados no CCA antes de ativar o Autofix.
* Adiciona tag `Pier:Autofix:Executed` com timestamp no bucket após ativar.

**Deletar Uploads Multipart Incompletos:**

* Remove uploads multipart que foram iniciados e não foram concluídos.
* Processa uploads com mais de 1 dia de criação.
* Libera espaço e reduz custos de armazenamento.
* Adiciona tag `Pier:Autofix:Executed` com timestamp no bucket após deletar.

***

### VPC

**VPC Endpoint Ocioso:**

* Remove VPC endpoints que não estão sendo utilizados.
* Endpoints gerenciados pela própria AWS não podem ser removidos e serão sinalizados como falha.
* Adiciona tag `Pier:Autofix:Executed` com timestamp no VPC endpoint antes de deletar.

***

### CloudFront

**Habilitar Compressão em Distribuição:**

* Ativa a compressão automática em todos os behaviors da distribuição CloudFront.
* Reduz o tamanho das respostas e melhora a performance.
* Adiciona tag `Pier:Autofix:Executed` com timestamp na distribuição após ativar.

***

### Processos Assíncronos

Algumas correções dependem de processos na AWS que levam tempo para concluir (criação de AMI, snapshot, exportação de dados). Nesses casos, o sistema inicia o processo e continua monitorando nas execuções seguintes até a conclusão.

Correções com processo assíncrono: **EC2 Delete**, **EBS Volume Delete**, **RDS Graviton Migration**, **RDS Snapshot Archive**.

### Histórico e Auditoria

Cada operação é registrada com:

* Recurso afetado e conta AWS.
* Status da operação (sucesso ou falha).
* Estado antes e depois da correção.
* Mensagem de erro detalhada, quando houver.

### Criação de Recursos

Algumas correções criam recursos automaticamente na sua conta:

* **Bucket S3**: Criado para arquivamento de snapshots RDS com nome `piercloud-autofix-{account_id}-{region}.`
* **Chave KMS**: Criada para criptografar dados exportados de snapshots RDS, com tags de identificação.
* **AMI**: Criada como backup antes de deletar instâncias EC2 paradas.
* **Snapshots**: Criados como backup antes de deletar volumes EBS ou instâncias RDS.

### Tags Adicionadas

Todas as correções adicionam a tag `Pier:Autofix:Executed` com o timestamp da execução nos recursos afetados. Essa tag serve para rastreamento e auditoria das ações executadas.
