# EBS: Migração de EBS IO1 e IO2 para GP3

> Esta regra identifica volumes Amazon EBS do tipo `io1` e `io2` em todas as regiões configuradas na conta AWS.
>
> O objetivo é mapear volumes provisionados com IOPS dedicadas, normalmente associados a workloads de alta performance e alto custo.

***

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

Volumes `io1` e `io2` são projetados para aplicações críticas que exigem:

* Alta performance consistente
* Latência baixa
* IOPS provisionadas manualmente

Entretanto, esses volumes possuem custo significativamente superior aos tipos:

* `gp2`
* `gp3`

Impactos potenciais:

* Superdimensionamento de IOPS
* Uso desnecessário de storage premium
* Custos elevados sem benefício proporcional

Essa regra auxilia na identificação de oportunidades de:

* Migração para `gp3`
* Redução de IOPS provisionadas
* Revisão arquitetural

***

**Detalhamento técnico da regra**

A regra realiza varredura regional nos volumes EBS filtrando exclusivamente os tipos `io1` e `io2`.

Não há análise de métricas de utilização ou desempenho.

***

**Como a regra é executada**

1. Autentica na conta AWS por região.
2. Executa a API:

   ```
   ec2:DescribeVolumes
   ```
3. Aplica filtro:

   ```
   volume-type = io1 OR io2
   ```
4. Aplica filtros de tag (inclusão/exclusão).
5. Registra os volumes encontrados como recursos sinalizados.

***

**Lógica aplicada**

Um volume será sinalizado quando:

```
VolumeType = io1
OU
VolumeType = io2
```

Não há avaliação de estado (`available` ou `in-use`), nem análise de performance.

***

**Campos analisados**

Volume EBS:

* `VolumeId`
* `VolumeType`
* `Size`
* `Iops`
* `State`
* `CreateTime`
* `Tags`
* Região

***

**Parâmetros considerados na busca**

API utilizada:

* `ec2:DescribeVolumes`

Filtro aplicado:

```
Filters:
  Name: volume-type
  Values: [io1, io2]
```

***

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

Período Avaliado (Filtro Temporal): 15 dias

A regra considera todos os volumes `io1` e `io2` existentes dentro de um periodo de 15 dias no momento da execução.

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

***

**Intervalo de Análise**

Execução padrão: a cada 30 minutos.

***

**Cálculo de Savings**

O savings estimado considera a migração de volumes `io1` ou `io2` para `gp3`, assumindo redução média de 66% no custo.

***

**Fórmula Oficial de Savings**

```
Savings = sum("lineitem/unblendedcost") * 0.66
```

***

**Campo de custo utilizado**

No Billing AWS:

* Service: AmazonEC2
* Line Item Type: Usage
* Usage Types relacionados a EBS provisionado (VolumeUsage e PIOPS)
* Campo financeiro considerado:
  * `lineitem/unblendedcost`

***

**Interpretação**

A regra assume que a migração para `gp3` pode gerar economia média de aproximadamente **66%** sobre o custo atual do volume `io1` ou `io2`.

Exemplo:

Se o custo mensal atual do volume é:

```
$1.000
```

Aplicando a fórmula:

```
Savings = 1.000 * 0.66
Savings = $660/mês
```

Custo estimado pós-migração:

```
$340/mês
```

***

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

* Verificar métricas de IOPS e throughput antes de migrar.
* Avaliar compatibilidade da aplicação.
* Priorizar migração para `gp3`, que oferece:
  * Melhor relação custo-benefício
  * Performance configurável
* Revisar volumes antigos criados antes da disponibilização do gp3.
* Validar workloads críticos antes da alteração.

Possíveis exceções:

* Bancos de dados de alta transação.
* Sistemas financeiros com SLA rigoroso.
* Aplicações com picos intensos de I/O.

Recomenda-se teste controlado antes da migração definitiva.
