# RDS: RDS com suporte estendido ativo

> Esta regra identifica instâncias Amazon RDS que:
>
> * Estão utilizando **Extended Support**
> * Atendem ao critério de idade configurado
> * Atendem aos filtros de tag definidos
>
> O objetivo é identificar bancos que já ultrapassaram o ciclo padrão de suporte e estão gerando custo adicional.

***

**Contexto da regra e impacto no negócio**

Quando um banco RDS entra em **Extended Support**:

* A AWS aplica cobrança adicional
* A versão está fora do ciclo padrão de suporte
* Existe maior risco de vulnerabilidades
* Pode haver restrições futuras de upgrade

Impacto:

* Custo adicional recorrente
* Risco de segurança
* Risco operacional
* Débito técnico acumulado

Classificação: **ECONOMIA + GOVERNANÇA + RISCO OPERACIONAL**

***

**Detalhamento técnico da regra**

A regra percorre todas as regiões AWS habilitadas na tenancy.

Para cada região:

1. Lista instâncias RDS.
2. Aplica filtros de tag.
3. Valida idade da instância.
4. Verifica status de lifecycle do engine.

***

**Como a regra é executada**

1. Autenticação por região.
2. Execução:

   ```
   rds:DescribeDBInstances
   ```
3. Aplicação de filtros de tag (inclusão/exclusão).
4. Validação temporal:

```
diff_days = now - InstanceCreateTime
```

Conforme:

```
period.operator
period.days
```

5. Verificação de Extended Support:

Campo analisado:

```
EngineLifecycleSupport
```

Condição:

```
EngineLifecycleSupport = "open-source-rds-extended-support"
```

6. Instância é sinalizada quando atende todos os critérios.

***

**Lógica aplicada**

Uma instância será sinalizada quando:

```
EngineLifecycleSupport = "open-source-rds-extended-support"
AND
Idade atende critério configurado
```

***

**Campos analisados**

Instância RDS:

* `DBInstanceIdentifier`
* `DBInstanceArn`
* `EngineVersion`
* `EngineLifecycleSupport`
* `StandardSupportEndDate`
* `InstanceCreateTime`
* `TagList`
* `Region`

***

**Parâmetros considerados na busca**

API utilizada:

```
rds:DescribeDBInstances
```

Parâmetros configuráveis:

* `period.days`
* `period.operator`
* Filtros de tag

***

**Período Avaliado (Filtro Temporal)**

Período Avaliado: Menos de 30 dias

Configuração padrão é de identificar instâncias de banco de dados que estejam executando versões do mecanismo que já atingiram o Fim do Suporte em menos de 30 dias.&#x20;

> Esse parâmetro de avaliação pode ser ajustado nas configurações das regras.

***

**Intervalo de Análise**

Execução padrão: a cada 8 horas.

***

**Calculo de Savings**

Instâncias em Extended Support geram custo adicional direto.

Seguindo o padrão definido para esta regra, o cálculo é baseado no consumo efetivo:

**Fórmula Oficial de Savings**

```sql
SUM("lineitem/unblendedrate" * "lineitem/usageamount")
```

**Interpretação**

O savings considera:

* O custo efetivamente cobrado relacionado ao uso da instância
* Cálculo baseado em:
  * `lineitem/unblendedrate`
  * `lineitem/usageamount`

Esse modelo reflete com precisão o custo real associado à instância em Extended Support.

Serviço relacionado no CUR:

```
Amazon Relational Database Service
```

***

**Exemplo de Impacto**

Cenário:

* 3 instâncias RDS em Extended Support
* Custo mensal total calculado via rate × usage: $5.200

Savings estimado:

```
$5.200/mês
```

Caso seja realizado upgrade para versão suportada.

***

**Dicas de uso e boas práticas para o usuário**

Antes de atualizar:

* Validar compatibilidade da aplicação.
* Testar upgrade em ambiente de homologação.
* Verificar dependências de engine.
* Planejar janela de manutenção.

Boas práticas:

* Manter política de atualização contínua.
* Monitorar datas de fim de suporte.
* Planejar upgrade antes da entrada em Extended Support.

Exceções possíveis:

* Sistemas legados críticos.
* Restrições técnicas temporárias.
* Ambientes com limitação de compatibilidade.
