# S3: S3 Intelligent-Tiering não configurado

> Esta regra identifica buckets Amazon S3 que:
>
> * Estão dentro de um intervalo configurado de idade
> * Não possuem **Intelligent-Tiering habilitado**
> * Não possuem regra de lifecycle ativa com transição para `INTELLIGENT_TIERING`
>
> O objetivo é identificar oportunidades de redução automática de custo de storage.

***

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

O S3 Intelligent-Tiering reduz custos automaticamente movendo objetos entre camadas conforme padrão de acesso.

Sem essa configuração:

* Objetos pouco acessados permanecem em Standard
* Há desperdício recorrente de storage
* Falta automação de otimização

Impacto:

* Custo desnecessário com armazenamento
* Baixa eficiência de gestão de dados

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

***

**Detalhamento técnico da regra**

A regra avalia todos os buckets da conta (global, não regional).

***

**Como a regra é executada**

1. Executa:

   ```
   s3:ListBuckets
   ```
2. Para cada bucket:
   * Obtém tags:

     ```
     s3:GetBucketTagging
     ```
   * Aplica filtros de tag (inclusão/exclusão).
   * Valida idade do bucket:

     ```
     CreationDate
     ```
   * Verifica configuração de Intelligent-Tiering:

     ```
     s3:ListBucketIntelligentTieringConfigurations
     ```
   * Caso não exista configuração ativa, verifica lifecycle:

     ```
     s3:GetBucketLifecycle
     ```
3. Bucket é sinalizado quando:
   * Está dentro do período configurado
   * Não possui Intelligent-Tiering habilitado
   * Não possui transição ativa para `INTELLIGENT_TIERING`

***

**Lógica aplicada**

Um bucket será sinalizado quando:

```
Idade atende critério configurado
AND
Nenhuma regra de IntelligentTiering com Status = Enabled
AND
Nenhuma regra de Lifecycle com:
    Status = Enabled
    AND Transition.StorageClass = INTELLIGENT_TIERING
```

***

**Campos analisados**

Bucket S3:

* `Name`
* `CreationDate`
* `Tags`
* `LifecycleConfiguration`
* `IntelligentTieringConfiguration`
* `ARN`

***

**Parâmetros considerados na busca**

APIs utilizadas:

* `s3:ListBuckets`
* `s3:GetBucketTagging`
* `s3:ListBucketIntelligentTieringConfigurations`
* `s3:GetBucketLifecycle`

Parâmetro configurável via checker:

* `period.days`
* `period.operator` (greater\_than / less\_than)

***

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

Período Avaliado: 15 dias

Padrão configurado é que identifique os buckets S3 que não têm o Intelligent-Tiering configurado, dentro do período de 15 dias.

> 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**

A economia estimada considera o potencial de otimização automática ao ativar Intelligent-Tiering.

Seguindo padrão de regra de otimização com estimativa conservadora:

**Fórmula Oficial de Savings**

```sql
sum("lineitem/unblendedcost") * 0.15
```

**Justificativa**

O Intelligent-Tiering pode gerar economia variável conforme padrão de acesso.

Estimativa conservadora adotada:

```
15% de redução potencial em custos de storage
```

Campo do CUR utilizado:

```
lineitem/unblendedcost
```

Serviço relacionado no CUR:

```
Amazon Simple Storage Service
```

***

**Exemplo de Impacto**

Cenário:

* Buckets totalizando $20.000/mês em S3 Standard

Savings estimado:

```
20.000 × 15% = $3.000/mês
```

***

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

Antes de ativar:

* Validar padrão de acesso aos objetos.
* Avaliar impacto em workloads críticos.
* Considerar uso combinado com lifecycle policies.
* Monitorar métricas de acesso via S3 Storage Lens.

Exceções possíveis:

* Buckets com acesso altamente previsível.
* Dados com retenção legal específica.
* Buckets com arquitetura de custo já otimizada.

Recomendação:

Habilitar Intelligent-Tiering como padrão organizacional para dados não previsíveis.
