# EC2: Atingindo 80% das cotas de endereços IP para instâncias EC2

> Esta regra identifica regiões AWS onde o número de **Elastic IPs (EIPs) alocados em VPC** está utilizando **80% ou mais da quota configurada**.
>
> O objetivo é antecipar risco de bloqueio na alocação de novos endereços IP públicos.

***

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

Elastic IPs possuem limite regional.

Quando a utilização se aproxima do limite:

* Novas instâncias públicas podem falhar
* Deploys com NAT Gateway podem falhar
* Escalabilidade de serviços expostos pode ser impactada
* Pipelines automatizados podem quebrar

Impacto:

* Risco operacional
* Interrupção de provisionamento
* Impacto em ambientes produtivos

Classificação: **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. Consulta a quota de Elastic IPs.
2. Conta EIPs atualmente alocados em VPC.
3. Calcula percentual de utilização.
4. Sinaliza quando utilização ≥ 80%.

***

**Como a regra é executada**

**1. Consulta da quota**

API:

```
service-quotas:GetServiceQuota
ServiceCode = ec2
QuotaCode = L-0263D0A3
```

Caso a quota customizada não exista, a regra consulta:

```
service-quotas:GetAWSDefaultServiceQuota
```

***

**2. Consulta de Elastic IPs alocados**

API:

```
ec2:DescribeAddresses
```

Filtro aplicado:

```
domain = vpc
```

Conta total de endereços retornados.

***

**3. Cálculo de utilização**

```
usage_percentage = (allocated_ips / quota_value) * 100
```

***

**Lógica aplicada**

Uma região será sinalizada quando:

```
usage_percentage >= 80%
```

Classificação interna:

* ≥ 80% → Warning
* ≥ 90% → Critical

***

**Campos analisados**

Elastic IP:

* `AllocationId`
* `PublicIp`
* `Domain`

Quota:

* `QuotaCode = L-0263D0A3`
* `Quota.Value`

Campos calculados:

* `allocated_ips`
* `quota_value`
* `usage_percentage`
* `status`

***

**Parâmetros considerados na busca**

APIs utilizadas:

* `service-quotas:GetServiceQuota`
* `service-quotas:GetAWSDefaultServiceQuota`
* `ec2:DescribeAddresses`

Limite fixo de alerta:

```
80%
```

***

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

Não aplicável.

A regra avalia o estado atual da utilização.

***

**Intervalo de Análise**

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

***

**Impacto Financeiro**

Esta regra não possui savings direto.

O objetivo é:

* Garantir continuidade operacional
* Evitar falhas de provisionamento
* Prevenir incidentes em ambientes produtivos

Impacto indireto pode ocorrer caso falhas impeçam deploys críticos.

***

**Exemplo de Impacto**

Cenário:

* Quota regional: 5 EIPs
* EIPs alocados: 4

Utilização:

```
4 / 5 = 80%
```

Região será sinalizada.

***

Outro cenário:

* Quota: 20
* Alocados: 18

Utilização:

```
18 / 20 = 90%
```

Classificação: **Critical**

***

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

Recomendações:

* Solicitar aumento de quota antes de atingir 90%.
* Liberar EIPs não associados.
* Avaliar uso de Load Balancers ou NAT compartilhado.
* Revisar arquitetura de IP público.

Boas práticas:

* Monitorar quotas críticas como parte da governança.
* Automatizar alertas preventivos.
* Revisar EIPs órfãos periodicamente.
